一、SELECT基本語句
1. SELECT * FROM 表名;
2. SELECT * FROM 表名 WHERE column name = '待查找數據'
3.SELECT column name1,column name2 ?FROM 表名 WHERE column name3 = '待查找數據'
① 查詢的列名和WHERE子句的查詢列名很少是一樣的,此方法可用以確認column name1里是否有錯別字;
例句:SELECT column name1? FROM 表名 WHERE column name1 = '待查找數據'
② 從網上復制粘貼查詢,使用時可能會出錯。原因是網上的數據可能有外觀向空格但是實際是其他含義的隱形字符,需先將其粘貼到文本編輯器(Notepad)中即可移除隱形字符(不要粘貼到WORD里)。
二、各個符號解釋
1. ‘ * ’代表從表中查找所有的數據;
2. WHERE子句運算符右邊部門類型數據需要加單引號,規則同上一章INSERT語句加單引號一樣;
3. WHERE子句可以使用各類運算符。
三、單引號—特殊字符
1. 單引號必須成對出現;
2. 如未成對出現,例如: INSERT INTO 表名 (列名) VALUES ('lucy's?BOOK ')
RDBMS將會提示錯誤,是因為" lucy's " 里多了一個單引號;
正確寫法有兩種:
① 單引號前加'? \ ?',例如:INSERT INTO 表名 (列名) VALUES ('lucy\'s?BOOK ');
② 單引號后再加一個單引號,例如:INSERT INTO 表名 (列名) VALUES ('lucy''s?BOOK ')。
注:雙引號在其他編程語言中代表其內的內容是SQL語句
四、SELECT進階語句
1. 結合查詢,使用‘AND’可以同時處理多項查詢
SELECT column name1 FROM 表名 WHERE column name2 = '待查找數據2' AND column name3 = '待查找數據2' ?AND? column name4 = 數值
2. 結合查詢可以使用運算符
SELECT column name1 FROM 表名 WHERE column name2 = '待查找數據2'?AND?column name3 = '待查找數據2'?AND?column name4 > ?數值
3. 對文本使用比較運算符
比較運算符會按字母順序地評估所有事物的大小
4. 使用‘OR’查詢,返回任何符合條件之一的記錄
SELECT column name1 FROM 表名 WHERE column name2 = '待查找數據2'?OR?column name3 = '待查找數據2'?OR?column name4 = 數值
5. 同一個WHERE語句中可以使用多個'AND'和'OR',而且還可以同時使用它們
6. 用‘IS NULL’找出NULL
SELECT column name1 FROM 表名 WHERE column name2 ?IS NULL
7. 關鍵詞'LIKE'?
SELECT column name1 FROM 表名 WHERE column name2 LIKE ?'%待查找數據%'
① ‘?%?’是SQL語句里的通配符,和VBA語句里的‘?*?’一樣,表示任意數量的未知字符;
② ?‘_’ ?是SQL語句里的通配符,和VBA語句里的‘?’一樣,表示一個的未知字符;
8. 關鍵詞 'BETWEEN '
SELECT column name1 FROM 表名 WHERE column2 name BETWEEN 20 AND 100;
① 用BETWEEN時,數字包含所寫的數字,即是20—100,不是19—99;
② 應先寫數字較小的,再寫較大的,否則無法運算;
③ 再對文本類型的列使用時,BETWEEN后面較大的數字應多寫一位,例:
SELECT column name1 FROM 表名 WHERE column2 name BETWEEN 'G' AND 'P';
表示查找的是以G—O開頭的文本名稱;
9. ?非關鍵詞'IN',可以告訴RDMBS接下來是值得集合,只要列值能匹配集合中的任何值,即可返回改行或列
SELECT column name1 FROM 表名 WHERE column2 name IN ('數據1','數據2','數據3');
它的原始語句是
SELECT column name1 FROM 表名 WHERE column2 name='數據1' OR column2 name='數據2' ?OR column2 name='數據3'
同理,可以使用'NOT IN'
10. 'NOT'的位置問題
① NOT 應跟在WHERE之后
② 'AND'和'OR'語句里使用'NOT',直接跟在'AND'和'OR'后面,如
WHERE NOT column name1= '數據1'?
AND ?NOT?column name2?=?'數據2'
OR?NOT?column name3 = '數據3'
③ ?'NOT IN' 和 'IS NULL' 是例外
WHERE NOT column name IN('數據1','數據2','數據3')
等于
WHERE column name NOT IN('數據1','數據2','數據3')
...
WHERE?NOT?column name IS NULL
等于
WHERE?column name IS ?NOT NULL