SQL語言之DQL(查詢)
阿新 • • 發佈:2020-07-26
1、DQL的基本介紹
DQL(Data Query Language,查詢資料):DQL就是用來查詢表中的資料的,為使用者提供查詢資料的能力,這也是通常最頻繁的資料庫日常操作。
2、基本查詢(select)
要查詢資料庫表的資料,我們使用如下的SQL語句:
SELECT * FROM <表名>;
# 示例:
SELECT * FROM students; # 查詢students表的所有資料
查詢結果也是一個二維表,它包含列名和每一行的資料。
SELECT
語句其實並不要求一定要有FROM
子句:
SELECT 100+200;
上述查詢會直接計算出表示式的結果。雖然SELECT
可以用作計算,但它並不是SQL的強項。但是,不帶FROM
SELECT
語句有一個有用的用途,就是用來判斷當前到資料庫的連線是否有效。許多檢測工具會執行一條SELECT 1;
來測試資料庫連線。
3、條件查詢(where、and、or、not、<>)
條件查詢語法:
SELECT * FROM <表名> WHERE <條件表示式> # 示例: SELECT * FROM students WHERE score >= 80;
常用的條件表示式有:
3.1、AND條件
條件表示式可以用<條件1>AND<條件2>
表達滿足條件1並且滿足條件2,程式碼示例:
SELECT * FROM students WHERE score >= 80 AND gender = 'M'; # 假設gender列儲存的是字串,那就需要用單引號括起來
3.2、OR條件
也可以用<條件1>OR<條件2>來
表示滿足條件1或者滿足條件2,程式碼示例:
SELECT * FROM students WHERE score >= 80 OR gender = 'M';
3.3、NOT條件
還有NOT<條件>
,表示“不符合該條件”的記錄。NOT
條件其實等價於<>
,因此,NOT
查詢不是很常用。程式碼示例:
SELECT * FROM students WHERE NOT class_id = 2; # 等價於: SELECT * FROM students WHERE class_id <> 2;
3.4、小括號()
要組合三個或者更多的條件,就需要用小括號()
表示如何進行條件運算。例如,編寫一個複雜的條件:分數在80以下或者90以上,並且是男生:
SELECT * FROM students WHERE (score < 80 OR score > 90) AND gender = 'M';
如果不加括號,條件運算按照NOT > AND > OR的優先順序進行,即 NOT 優先順序最高,其次是 AND,最後是 OR。加上括號可以改變優先順序。