close

這是線上平台課程的筆記內容,就是讓自己方便複習用。

老師講課的進度掌握得很好,教得也很淺寫易懂。

線上平台課程內有提供 SQL套件,如果有興趣的朋友一定要去支持老師的課程。

這樣才能取得老師提供的套件包做練習使用。

如果有想要知道老師的課程,再詢問我。


CH4 where選擇紀錄

之前都是搜尋到所有的紀錄,但是我們不想要所有的,想要其中的紀錄的話。

要透過where來調整。

SELECT <column1>,<column2>

FROM <table_name>

WHERE <condition>;

 

Condition的設定法

WHERE 欄位=’關鍵字

或者

WHERE 欄位=”關鍵字

 

SELECT *

FROM suppliers

WHERE city=’Berlin’;

 

 


數字字段的選擇

WHERE 的數字用法可以用運算符號

WHERE customerid(關鍵字)=1

WHERE unitprice(關鍵字)>=2.50

WHERE unitprice(關鍵字)<2.50

 

WHERE quantity(關鍵字)>20

WHERE quantity(關鍵字)<=10

 

這邊要找一個員工ID3的人的資料。

SELECT *

FROM employees

WHERE employeeid=3;

 

找一下訂單是由employeeid=3的人處理的數量。

 

 

這邊想知道有多少個訂單,訂購的商品超過20個。

:order_details  欄位:quantity

SELECT COUNT (*)

FROM order_details

WHERE quantity>=20

這邊的超過是有包含20個的。

 

多少的訂單數,運費是超過(包含)250元。

:orders  欄位:freight

SELECT COUNT (*)

FROM orders

WHERE freight>=250;

 


尋找日期

WHERE orderdate = ‘1999-09-21’

WHERE orderdate > ‘1999-09-21’

WHERE orderdate <= ‘1999-09-21’

日期格式須以XXXX-XX-XX表示。

 

這邊找訂單日期orderdate是在1998-01-01之後的訂單數量。

SELECT COUNT(*)

FROM orders

WHERE orderdate >= '1998-01-01';

 

多個選擇邊準的搜尋AND

AND表示兩個搜尋條件都要符合才可以。

SELECT <column1>

FROM <table_name>

WHERE <條件> AND <條件> AND …

 

尋找訂單數量,寄送地點是德國,且運費超過150圓以上的筆數。

SELECT COUNT (*)

FROM orders

WHERE shipcountry='Germany' AND freight >150;


多個選擇邊準的搜尋OR

 

AND不同的是,OR是二擇一的概念。

多個條件只要一個符合就可以。

 

例如我們要找美國OR加拿大的客戶數量。

SELECT COUNT(*)

FROM customers

WHERE country = 'USA' OR country = 'Canada';


多個選擇邊準的搜尋NOT

非運算

 

我有多少客戶[不在]法國

SELECT COUNT(*)

FROM customers

WHERE NOT country='France';


結合NOTANDOR

 

要結合的時候建議,好好的使用(),不然你的意思會被曲解。

WHERE ( 條件1 AND 條件2)  OR 條件3;

向德國Germany 運送了多少訂單,它們的運費低於50或者高於175

 

SELECT COUNT (*)

FROM orders

WHERE shipcountry = 'Germany' AND ( freight<50 OR freight>175);

 

寄送到Canada Spain 的訂單數量,且時間在1997-05-01之後。

SELECT COUNT(*)

FROM orders

WHERE shippeddate >= '1997-05-01'

AND (shipcountry='Canada' OR shipcountry='Spain');


學著使用between

 

Between是個捷徑

WHERE freight BETWEEN 50 AND 100;

等同於

WHERE freight >=50 AND freight <= 100;

 

訂單詳情內找到商品單價。找單價unitproce10 20間的商品數量。

SELECT COUNT(*)

FROM order_details

WHERE unitprice BETWEEN 10 AND 20;


學習使用 IN

剛剛的BETWEEN 是大於等於 小於等於的概念,範圍區間。

 

這邊的IN OR的感覺。

WHERE id IN (2,3,22);

等同於

WHERE id=2 OR id=3 OR id=22;

 

尋找我們有多少供應商在GermanyFranceSpainItaly

SELECT COUNT(*)

FROM suppliers

WHERE country IN('Germany','France','Spain','Italy');

 

我們在1 4 6 7類當中有多少產品。

SELECT COUNT (*)

FROM products

WHERE categoryid IN (1,4,6,7);

<本篇完>


第一篇:  IT讀書室-SQL語法學習- postgre安裝與匯入

第二篇:  IT讀書室-SQL語法學習- SELECT查詢

第三篇:  IT讀書室-SQL語法學習- WHERE條件

第四篇:  IT讀書室-SQL語法學習- 中間的SELECT語句

 


如果筆記造成任何法律或者侵權的問題,作者會立即將筆記下架。

 

arrow
arrow
    全站熱搜

    IT001 發表在 痞客邦 留言(0) 人氣()