1. 程式人生 > 實用技巧 >SQL語言之DQL(查詢)

SQL語言之DQL(查詢)

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。加上括號可以改變優先順序。