二、SELECT 語句

一、SELECT基本語句

1. SELECT * FROM 表名;

2. SELECT * FROM 表名 WHERE column name = '待查找數(shù)據(jù)'

3.SELECT column name1,column name2 ?FROM 表名 WHERE column name3 = '待查找數(shù)據(jù)'

① 查詢的列名和WHERE子句的查詢列名很少是一樣的,此方法可用以確認column name1里是否有錯別字;

例句:SELECT column name1? FROM 表名 WHERE column name1 = '待查找數(shù)據(jù)'

② 從網(wǎng)上復制粘貼查詢,使用時可能會出錯。原因是網(wǎng)上的數(shù)據(jù)可能有外觀向空格但是實際是其他含義的隱形字符,需先將其粘貼到文本編輯器(Notepad)中即可移除隱形字符(不要粘貼到WORD里)。


二、各個符號解釋

1. ‘ * ’代表從表中查找所有的數(shù)據(jù);

2. WHERE子句運算符右邊部門類型數(shù)據(jù)需要加單引號,規(guī)則同上一章INSERT語句加單引號一樣;

3. WHERE子句可以使用各類運算符。


三、單引號—特殊字符

1. 單引號必須成對出現(xiàn);

2. 如未成對出現(xiàn),例如: INSERT INTO 表名 (列名) VALUES ('lucy's?BOOK ')

RDBMS將會提示錯誤,是因為" lucy's " 里多了一個單引號;

正確寫法有兩種:

單引號前加'? \ ?',例如:INSERT INTO 表名 (列名) VALUES ('lucy\'s?BOOK ');

單引號后再加一個單引號,例如:INSERT INTO 表名 (列名) VALUES ('lucy''s?BOOK ')。

注:雙引號在其他編程語言中代表其內(nèi)的內(nèi)容是SQL語句


四、SELECT進階語句

1. 結(jié)合查詢,使用‘AND’可以同時處理多項查詢

SELECT column name1 FROM 表名 WHERE column name2 = '待查找數(shù)據(jù)2' AND column name3 = '待查找數(shù)據(jù)2' ?AND? column name4 = 數(shù)值

2. 結(jié)合查詢可以使用運算符

SELECT column name1 FROM 表名 WHERE column name2 = '待查找數(shù)據(jù)2'?AND?column name3 = '待查找數(shù)據(jù)2'?AND?column name4 > ?數(shù)值

3. 對文本使用比較運算符

比較運算符會按字母順序地評估所有事物的大小

4. 使用‘OR’查詢,返回任何符合條件之一的記錄

SELECT column name1 FROM 表名 WHERE column name2 = '待查找數(shù)據(jù)2'?OR?column name3 = '待查找數(shù)據(jù)2'?OR?column name4 = 數(shù)值

5. 同一個WHERE語句中可以使用多個'AND'和'OR',而且還可以同時使用它們

6. 用‘IS NULL’找出NULL

SELECT column name1 FROM 表名 WHERE column name2 ?IS NULL

7. 關(guān)鍵詞'LIKE'?

SELECT column name1 FROM 表名 WHERE column name2 LIKE ?'%待查找數(shù)據(jù)%'

① ‘?%?’是SQL語句里的通配符,和VBA語句里的‘?*?’一樣,表示任意數(shù)量的未知字符;

② ?‘_’ ?是SQL語句里的通配符,和VBA語句里的‘?’一樣,表示一個的未知字符;

8. 關(guān)鍵詞 'BETWEEN '

SELECT column name1 FROM 表名 WHERE column2 name BETWEEN 20 AND 100;

① 用BETWEEN時,數(shù)字包含所寫的數(shù)字,即是20—100,不是19—99;

② 應先寫數(shù)字較小的,再寫較大的,否則無法運算;

③ 再對文本類型的列使用時,BETWEEN后面較大的數(shù)字應多寫一位,例:

SELECT column name1 FROM 表名 WHERE column2 name BETWEEN 'G' AND 'P';

表示查找的是以G—O開頭的文本名稱;

9. ?非關(guān)鍵詞'IN',可以告訴RDMBS接下來是值得集合,只要列值能匹配集合中的任何值,即可返回改行或列

SELECT column name1 FROM 表名 WHERE column2 name IN ('數(shù)據(jù)1','數(shù)據(jù)2','數(shù)據(jù)3');

它的原始語句是

SELECT column name1 FROM 表名 WHERE column2 name='數(shù)據(jù)1' OR column2 name='數(shù)據(jù)2' ?OR column2 name='數(shù)據(jù)3'

同理,可以使用'NOT IN'

10. 'NOT'的位置問題

NOT 應跟在WHERE之后

② 'AND'和'OR'語句里使用'NOT',直接跟在'AND'和'OR'后面,如

WHERE NOT column name1= '數(shù)據(jù)1'?

AND ?NOT?column name2?=?'數(shù)據(jù)2'

OR?NOT?column name3 = '數(shù)據(jù)3'

③ ?'NOT IN' 和 'IS NULL' 是例外

WHERE NOT column name IN('數(shù)據(jù)1','數(shù)據(jù)2','數(shù)據(jù)3')

等于

WHERE column name NOT IN('數(shù)據(jù)1','數(shù)據(jù)2','數(shù)據(jù)3')

...

WHERE?NOT?column name IS NULL

等于

WHERE?column name IS ?NOT NULL

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容