從今天開始撈資料之旅,接下來會有一千種(???)撈資料篩條件的方法,
讓我們從基本的開始!
在介紹SELECT 與 DISTINCT之前,
一樣先看昨天的INSERT語法怎麼寫:
INSERT INTO class (subject,fee)
values ('piano',800),('drum',500),('guitar',300),('vocal',800),('Songwriting',1200);
可以看到這裡並沒有插入id,
原因是我們在建立class table的時候有給id欄位一個Constraint,
還記得哪個Constraint會自動增生嗎?
就是AUTO_INCREMENT,
忘記的可以再看一次第七日- 資料限制:AUTO_INCREMENT,現在換你創一張資料表!。
我們之前曾經用過SELECT語法。
在介紹CRUD時有提到,READ讀取資料,
在SQL裡面對應的便是SELECT。
簡單來說就是從某張資料表撈出自己要的欄位,
*的意思代表所有欄位,
以下的語法可以撈出student裡面的所有資料。
SELECT * FROM student;
如果只要其中幾個欄位的話:
SELECT id,full_name FROM Education.student;
之後會很常與SELECT相處,接下來有各種各樣花式SELECT在未來等你^_<
我們可以看到選出來的資料欄位,名稱會跟原本一樣,
例如gender會顯示gender,但如果我今天想顯示「性別」呢?
這時就可以用AS幫選出來的欄位取名,
只要在SELECT的欄位後加上'AS 顯示欄位名稱',
撈出來的資料欄就能顯示自己想要的欄位名稱。
SELECT gender AS '性別',full_name FROM Education.student ;
DISTINCT的用途是去除重複資料,功能相仿的還有GROUP BY,
GROUP BY之後會再介紹。
DISTINCT會寫在SELECT後面,
會根據DISTINCT後面的欄位當作重複值的條件,
加上DISTINCT代表希望知道指定欄位有幾種不同的資料。
講起來有點繞口,但實際上不難想像,例如說動物園有各種動物,
每種動物不只一隻,如果SELECT * FROM動物園.就可以撈出所有的動物,
但你其實不想知道有幾隻,你只想知道有哪些種類,
這時候就可以使用SELECT DISTINCT 動物種類 FROM動物園,
結果就會列出動物園有的動物種類。
例如,我們如果想知道班上有幾種性別:
SELECT DISTINCT gender FROM Education.student;
那如果我們希望是看到性別搭上姓名,不重複的資料,
就會這樣下指令:
SELECT DISTINCT gender,full_name FROM Education.student;
假設班上有同名同姓,性別又一樣的兩個學生,此時就只會出現一個。