第二章 SELECT 進階使用
輸出整張Table
SELECT * FROM TableName;
SELECT:選擇欄位,做輸出。
FROM:來源資料表。
*:表示全部欄位。
SELECT + WHERE 條件
SELECT [輸出欄位] FROM [來源資料表]
WHERE [欄位] = [比對條件];
WHERE 指定特定條件。
example:
SELECT * FROM phome_table
WHERE phomeNumber = "28825252";
SELECT 特定資料
SELECT drinkName, type, price
FROM drinkTable
WHERE type= 'alcohol';
SELECT + 邏輯運算子
SELECT drinkName, type, price
FROM drinkTable
WHERE type = 'alcohol' AND price = 100;
如此會列出類別為酒精且售價為100元的飲品。
邏輯運算
AND
OR
//邏輯運算子可以一直連接使用,但這是硬來的方式。
比較運算
= 等於
> 大於
< 小於
>= 大於等於
<= 小於等於
<> 不等於
找NULL欄的資料,IS NULL
SELECT drinkName, type, price
FROM drinkTable
WHERE price IS NULL;
NULL無法使用比較運算子找出,需使用IS NULL來找尋,
因為NULL代表不存在所以無法比較。
LIKE 與 %
SELECT * FROM Customers
WHERE location LIKE '%縣';
//表示尋找所有以"縣"結尾的資料。
LIKE :像。
%:萬用字元,代表任何字串。
LIKE 與 _
SELECT first_name FROM my_contacts
WHERE first_name LIKE '_J';
//會找出如TJ,AJ,BJ,等,_代表一各字元。
_:萬用字元,代表一各字元。
BETWEEN關鍵字,兩者之間
SELECT drinkName FROM drinkTable
WHERE
price BETWEEN 30 AND 100;
//選出價格在30~60間的飲料。
//不使用BETWEEN的寫法
SELECT drinkName FROM drinkTable
WHERE
price >= 30 AND price <= 100;
IN,包含
SELECT drinkName
FROM drinkTable WHERE type IN ('Alcohol','soda');
//會找出type屬於alcohol與soda類的飲料。
等價方式
SELECT drinkName
FROM drinkTable
WHERE type = 'Alcohol' OR type = 'soda';
NOT IN , 不包含
SELECT drinkName
FROM drinkTable WHERE type NOT IN ('Alcohol','soda');
//會找出type非alcohol與soda類的飲料。
WHERE 與 NOTSELECT drindName FROM drindTable
WHERE NOT price BETWEEN 30 AND 100;
//會找出 "非" >=30 ~ <=100 之間的飲料。
寫入有'號的資料
寫入字串中含有 ' 號時需使用 \ 。
example:
INSERT INTO contacts
(location)
VALUES
('Grover\'s Mill');