iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 9
0
AI & Data

作者超囉嗦,但一天只要十分鐘的MYSQL真.新手教學系列 第 9

第九日- 踏上撈資料之旅,SELECT 與 DISTINCT

  • 分享至 

  • xImage
  •  

從今天開始撈資料之旅,接下來會有一千種(???)撈資料篩條件的方法,
讓我們從基本的開始!
在介紹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

我們之前曾經用過SELECT語法。
在介紹CRUD時有提到,READ讀取資料,
在SQL裡面對應的便是SELECT。

  1. 選擇 SELECT
  2. 欄位 *
  3. 從某個資料表 from student

簡單來說就是從某張資料表撈出自己要的欄位,
*的意思代表所有欄位,
以下的語法可以撈出student裡面的所有資料。

SELECT * FROM student;

如果只要其中幾個欄位的話:

SELECT id,full_name FROM Education.student;

之後會很常與SELECT相處,接下來有各種各樣花式SELECT在未來等你^_<

AS

我們可以看到選出來的資料欄位,名稱會跟原本一樣,
例如gender會顯示gender,但如果我今天想顯示「性別」呢?
這時就可以用AS幫選出來的欄位取名,
只要在SELECT的欄位後加上'AS 顯示欄位名稱',
撈出來的資料欄就能顯示自己想要的欄位名稱。

SELECT gender AS '性別',full_name FROM Education.student ;

DISTINCT

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;

假設班上有同名同姓,性別又一樣的兩個學生,此時就只會出現一個。


上一篇
第八日- 插入資料(INSERT INTO)的各種寫法,今天也有練習題!
下一篇
第十日-資料篩選的重點:WHERE,從「>=<!=><」開始
系列文
作者超囉嗦,但一天只要十分鐘的MYSQL真.新手教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言