在mysql中,可以使用SELECT語句和WHERE關鍵字來實現條件查詢,實作語句為「SELECT 欄位名稱FROM 資料表WHERE 查詢條件;」;SELECT語句用於查詢數據,而WHERE關鍵字用於指定查詢條件。
本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。
在mysql中,可以使用SELECT語句和WHERE關鍵字來實作條件查詢。
SELECT 語句可以查詢資料。查詢數據是指從資料庫中根據需求,使用不同的查詢方式來獲取不同的數據,是使用頻率最高、最重要的操作。
WHERE關鍵字用於指定查詢條件。如果需要有條件的從數據表中查詢數據,可以使用 WHERE 關鍵字。
語法格式如下:
SELECT 字段名 FROM 数据表 WHERE 查询条件;
查詢條件可以是:
#帶比較運算子和邏輯運算子的查詢條件
帶BETWEEN AND 關鍵字的查詢條件
帶有IS NULL 關鍵字的查詢條件
帶IN 關鍵字的查詢條件
帶有LIKE 關鍵字的查詢條件
#單一條件的查詢語句
單一條件指的是WHERE 關鍵字後面只有一個查詢條件。
範例 1
在 tb_students_info 資料表中查詢身高為 170cm 的學生姓名,SQL 語句和運行結果如下。
mysql> SELECT name,height FROM tb_students_info -> WHERE height=170; +-------+--------+ | name | height | +-------+--------+ | Susan | 170 | +-------+--------+ 1 row in set (0.17 sec)
可以看到,查詢結果中記錄的 height 欄位的值等於 170。如果根據指定的條件進行查詢時,資料表中沒有符合查詢條件的記錄,系統會提示「Empty set(0.00sec)」。
範例 2
在 tb_students_info 資料表中查詢年齡小於 22 的學生姓名,SQL 語句和執行結果如下。
mysql> SELECT name,age FROM tb_students_info -> WHERE age<22; +------+------+ | name | age | +------+------+ | John | 21 | +------+------+ 1 row in set (0.05 sec)
可以看到,查詢結果中所有記錄的 age 欄位的值均小於 22 歲,而大於或等於 22 歲的記錄沒有被傳回。
多條件的查詢語句
在 WHERE 關鍵字後面可以有多個查詢條件,這樣可以讓查詢結果更精確。多個查詢條件時用邏輯運算子 AND(&&)、OR(||)或 XOR 隔開。
AND:記錄滿足所有查詢條件時,才會被查詢出來。
OR:記錄滿足任一查詢條件時,才會被查詢出來。
XOR:記錄滿足其中一個條件,且不滿足另一個條件時,才會被查詢出來。
範例3
在tb_students_info 表中查詢age 大於21,且height 大於等於175 的學生訊息,SQL 語句和運行結果如下。
mysql> SELECT name,age,height FROM tb_students_info -> WHERE age>21 AND height>=175; +--------+------+--------+ | name | age | height | +--------+------+--------+ | Henry | 23 | 185 | | Jim | 24 | 175 | | Thomas | 22 | 178 | +--------+------+--------+ 3 rows in set (0.00 sec)
可以看到,查詢結果中所有記錄的 age 欄位都大於 21 且 height 欄位都大於等於 175。
例 4
在 tb_students_info 表中查詢 age 大於 21,或 height 大於等於 175 的學生訊息,SQL 語句和運行結果如下。
mysql> SELECT name,age,height FROM tb_students_info -> WHERE age>21 OR height>=175; +--------+------+--------+ | name | age | height | +--------+------+--------+ | Dany | 25 | 160 | | Green | 23 | 158 | | Henry | 23 | 185 | | Jane | 22 | 162 | | Jim | 24 | 175 | | Lily | 22 | 165 | | Susan | 23 | 170 | | Thomas | 22 | 178 | | Tom | 23 | 165 | +--------+------+--------+ 9 rows in set (0.00 sec)
可以看到,查詢結果中所有記錄的 age 欄位都大於 21 或 height 欄位都大於等於 175。
例5
在tb_students_info 表中查詢age 大於21,且height 小於175 的學生資訊和age 小於21,且height 大於等於175 的學生資訊, SQL 語句和執行結果如下。
mysql> SELECT name,age,height FROM tb_students_info -> WHERE age>21 XOR height>=175; +-------+------+--------+ | name | age | height | +-------+------+--------+ | Dany | 25 | 160 | | Green | 23 | 158 | | Jane | 22 | 162 | | Lily | 22 | 165 | | Susan | 23 | 170 | | Tom | 23 | 165 | +-------+------+--------+ 7 rows in set (0.00 sec)
可以看到,查詢結果中所有記錄的 age 欄位都大於 21 且 height 欄位都小於 175。 tb_students_info 資料表中沒有 age 欄位小於 21 且 height 欄位大於等於 175 的記錄。
OR、AND 和 XOR 可以一起使用,但在使用時要注意運算子的優先權。
查詢條件越多,查詢出來的記錄就會越少。因為,設定的條件越多,查詢語句的限制就更多,能夠滿足所有條件的記錄就更少。為了讓查詢出來的記錄正是自己想要的,可以在 WHERE 語句中將查詢條件設定的更具體。
【相關推薦:mysql影片教學】
#以上是mysql條件查詢語句是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!