
上一堂課複習
TOP語法 – 把前幾筆資料抓出來(可用括弧指定要抓幾筆)
Distinct語法 – 把重複的值刪除
Order by語法 – 排序資料 —- 搭配兩種排序方式
(1)、ASC – 由小到大
(2)、DESC – 由大到小
Ps.SQL的中文排序邏輯,不管是用微軟還是、EXCLE,都是依照筆畫的多寡進行排序
SQL SERVER教學第三天筆記
有條件的篩選資料
Where語法 – 我要根據什麼條件
EX. 在 imdb 資料庫中找出 1994 年上映的經典電影
SELECT [id]
,[title]
,[release_year]
,[rating]
,[director]
,[runtime]
FROM [imdb].[dbo].[movies]
where release_year = 1994;
如果今天是針對”字串”做比較,記得加上”(單引號)
Ex.
找出導演是Christopher Nolan的資料
SELECT [id]
,[title]
,[release_year]
,[rating]
,[director]
,[runtime]
FROM [imdb].[dbo].[movies]
where director = ‘Christopher Nolan’;
比較運算子
比較運算子 | 作用描述 |
= | 相等 |
!= | 不相等 |
> | 大於 |
< | 小於 |
>= | 大於等於 |
<= | 小於等於 |
實際案例注意事項
1、如果今天要同時想要篩選指定兩個目標,記得要用邏輯運算子
Ex. where Date = ‘2020-08-15’ and Name = ‘吳小亮’ ;(使用and來連接Date、Name的篩選資料)
2、如果今天同時要用where篩選一筆資料,並和order並用,中間不用加上逗號或分號
Ex. where Name = ‘江小花’ order by Amount DESC
**SQL的世界中 – 逗號會用到的時機 – 欄位跟欄位之間就要加上,或是很多資料之間要隔開
邏輯運算子
AND – 且
1、把一個範圍裡面的資料抓出來
EX. 搜尋評等介於 8.5 與 9.0 之間的電影(同時要符合兩個條件 1、>=8.5、2、<=9.5)
where rating >= 8.5 and rating <= 9.0;
2、接(1) – 有另外一種寫法更推薦 – Between…and….
where rating between 8.5 and 9.0;
3、小練習 – 搜尋吳小亮所有在 2020
年八月的銷售記錄
where Date between ‘2020-08-01’ and ‘2020-08-31’ and
Name = ‘吳小亮’;

OR – 或許
1、假設我們希望能夠把所有西瓜或蘋果的銷售數據,要表達或許的概念,可以使用 OR:
where Product = ‘西瓜’ or Product = ‘蘋果’;
2、結合多個 or 的時候,有兩種方式。
第一種 – OR 一直寫下去
WHERE Product = ‘西瓜’ OR Product = ‘蘋果’ OR Product = ‘芒果’;
第二種 – 使用IN
WHERE Product IN (‘西瓜’, ‘蘋果’, ‘芒果’);
NOT – 不要這個
1、假設我們希望能夠把除了西瓜或蘋果的銷售數據,可以使用 NOT
where NOT ( Product = ‘西瓜’ or Product = ‘蘋果’) ;
2、NOT也很常和IN一起使用 – NOT IN
WHERE Product NOT IN (‘西瓜’, ‘蘋果’);
文字特徵比對
今天想要把資料庫裡面,包含”商”的字詞,就可以使用”LIKE”把有關字詞抓出來
1、假設我們希望把名字内第二個字為 “果” 的商品查找出來
where CustomerName like ‘%商%’;
2、假設我們希望把名字内第二個字為 “果” 的商品查找出來
% – 只要有一個字詞符合,就會抓出來
_ – 把該空字串前後指定字詞的文字抓出來
PS.%
表示任意文字,包含空字串_
表示剛好一個文字
下集待續 – JOIN功能 – SSMS的超強功能,不用自己寫JOIN,用模組化工具來完成JOIN語法