mysql中的where關鍵字如何使用

蝸牛 互聯網技術資訊 2022-02-26 159 0

這篇文章給大家分享的是有關mysql中的where關鍵字如何使用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

在mysql中,where關鍵字需要和SELECT語句一起使用,用于指定查詢條件,即有條件的從數據表中查詢并返回數據;語法“SELECT {*|字段列名} FROM 數據表名 WHERE 查詢條件;”。

本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。

MySQL WHERE:條件查詢數據

在 MySQL 中,如果需要有條件的從數據表中查詢數據,可以使用 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中的where關鍵字如何使用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:niceseo99@gmail.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

評論

日本韩欧美一级A片在线观看