今天我們正式開(kāi)始學(xué)習(xí)了。為了完成相關(guān)練習(xí),我們需要有數(shù)據(jù),此處使用的是tableau自帶的示例數(shù)據(jù)-超市銷售數(shù)據(jù),它包含三張表,分別是訂單清單,退貨情況,銷售人員,其關(guān)系如下圖:
訂單和退貨記錄通過(guò)訂單ID關(guān)聯(lián),訂單和銷售員通過(guò)區(qū)域關(guān)聯(lián)。
如果您沒(méi)有數(shù)據(jù)進(jìn)行練習(xí),可以后臺(tái)發(fā)送“SQL”獲取相關(guān)資料進(jìn)行練習(xí)。資料內(nèi)含Excel文檔和數(shù)據(jù)庫(kù)文件(SQLite格式),Excel可以自行導(dǎo)入數(shù)據(jù)庫(kù)管理軟件或者使用SQLite打開(kāi)數(shù)據(jù)庫(kù)文件練習(xí)。
SELECT語(yǔ)句
要想獲取所需數(shù)據(jù),我們可以使用SELECT語(yǔ)句。它的寫(xiě)法為:
SELECT “字段名” FROM <表名>
a、查找一列數(shù)據(jù)
如果我們想查找【訂單】中的【客戶名稱】,可以輸入:
SELECT "客戶名稱" FROM "訂單"
或
SELECT
"客戶名稱"
FROM
"訂單"
兩者是等效的。查詢結(jié)果如下:
b、查找多列數(shù)據(jù)
如果我們想查找【訂單】中的【客戶名稱】【城市】【發(fā)貨日期】,可以輸入:
SELECT
"客戶名稱","城市","發(fā)貨日期"
FROM
"訂單"
運(yùn)行結(jié)果如下:
c、查找所有列
我們可以輸入以下語(yǔ)句查詢表的所有列:
SELECT
*
FROM
"訂單"
結(jié)果如下:
d、查找不重復(fù)列
在示例a中我們查找了【客戶名稱】但是在結(jié)果中我們發(fā)現(xiàn)部分客戶名稱是重復(fù)的,我們可以通過(guò)以下語(yǔ)句查詢不重復(fù)的客戶名稱:
SELECT DISTINCT
"客戶名稱"
FROM
"訂單"
可以看到一共有772條客戶名稱被查詢出來(lái)。
e、限定查詢數(shù)量
在示例c中,我們查詢到了所有的記錄,但是有時(shí)候我們只想知道表里有些什么內(nèi)容而不需要獲取全部信息,就可以使用LIMIT進(jìn)行限制,使用如下語(yǔ)句我們就可以只查看前十條記錄。
SELECT
*
FROM
"訂單"
LIMIT 10
結(jié)果如下:
需要注意不同的數(shù)據(jù)庫(kù)限制語(yǔ)句關(guān)鍵詞不一樣,需要根據(jù)所使用的數(shù)據(jù)庫(kù)使用相應(yīng)的限制語(yǔ)句。
SQL語(yǔ)句補(bǔ)充知識(shí)
我們今天學(xué)習(xí)了SELECT語(yǔ)句,但還需了解以下內(nèi)容:
SQL語(yǔ)句包含:
資料定義語(yǔ)言(Data Definition Language,DDL)為SQL語(yǔ)言集中負(fù)責(zé)數(shù)據(jù)結(jié)構(gòu)定義與數(shù)據(jù)庫(kù)對(duì)象定義的語(yǔ)言,由CREATE、ALTER與DROP三個(gè)語(yǔ)法所組成。
資料操縱語(yǔ)言(Data Manipulation Language, DML)是用于數(shù)據(jù)庫(kù)操作,對(duì)數(shù)據(jù)庫(kù)其中的對(duì)象和資料運(yùn)行訪問(wèn)工作的編程語(yǔ)句,以INSERT、UPDATE、DELETE、SELECT語(yǔ)句為核心,分別代表插入(意指新增或創(chuàng)建)、更新(修改)與刪除(銷毀)、查找。大多數(shù)時(shí)候以“CRUD”(分別為 Create, Retrieve, Update, Delete英文四前綴字母縮略的術(shù)語(yǔ))來(lái)稱呼,通常也以:增 查 改 刪 來(lái)略稱。
資料控制語(yǔ)言(Data Control Language) 在SQL語(yǔ)言中,是一種可對(duì)資料訪問(wèn)權(quán)進(jìn)行控制的指令,它可以控制特定用戶賬戶對(duì)資料表、查看表、存儲(chǔ)程序、用戶自定義函數(shù)等數(shù)據(jù)庫(kù)對(duì)象的控制權(quán)。由 GRANT 和 REVOKE 兩個(gè)指令組成。
SQL 對(duì)大小寫(xiě)不敏感,也即 select 和 SELECT 的作用是一樣的
注釋:有時(shí)候我們不希望執(zhí)行一些代碼或者添加一些描述性的記錄,就需要進(jìn)行注釋。注釋主要有以下幾種:
單行注釋:“--”
多行注釋: /* 注釋內(nèi)容 */
SELECT
"客戶名稱"
FROM
"訂單" -- WHERE "行 ID" = 2
/*
SELECT
"客戶名稱","城市","發(fā)貨日期"
FROM
"訂單"
*/
感謝您關(guān)注和支持,點(diǎn)個(gè)贊再走唄。






