溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql中的where關(guān)鍵字如何使用

發(fā)布時間:2022-02-25 09:49:44 來源:億速云 閱讀:279 作者:小新 欄目:MySQL數(shù)據(jù)庫

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

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

mysql中的where關(guān)鍵字如何使用

本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。

MySQL WHERE:條件查詢數(shù)據(jù)

在 MySQL 中,如果需要有條件的從數(shù)據(jù)表中查詢數(shù)據(jù),可以使用 WHERE 關(guān)鍵字來指定查詢條件。

使用 WHERE 關(guān)鍵字的語法格式如下:

SELECT {*|字段列名} FROM 數(shù)據(jù)表名 WHERE 查詢條件;

查詢條件可以是:

  • 帶比較運算符和邏輯運算符的查詢條件

  • 帶 BETWEEN AND 關(guān)鍵字的查詢條件

  • 帶 IS NULL 關(guān)鍵字的查詢條件

  • 帶 IN 關(guān)鍵字的查詢條件

  • 帶 LIKE 關(guān)鍵字的查詢條件

單一條件的查詢語句

單一條件指的是在 WHERE 關(guān)鍵字后只有一個查詢條件。

例 1

在 tb_students_info 數(shù)據(jù)表中查詢身高為 170cm 的學(xué)生姓名,SQL 語句和運行結(jié)果如下。

mysql> SELECT name,height FROM tb_students_info
    -> WHERE height=170;
+-------+--------+
| name  | height |
+-------+--------+
| Susan |    170 |
+-------+--------+
1 row in set (0.17 sec)

可以看到,查詢結(jié)果中記錄的 height 字段的值等于 170。如果根據(jù)指定的條件進行查詢時,數(shù)據(jù)表中沒有符合查詢條件的記錄,系統(tǒng)會提示“Empty set(0.00sec)”。

例 2

在 tb_students_info 數(shù)據(jù)表中查詢年齡小于 22 的學(xué)生姓名,SQL 語句和運行結(jié)果如下。

mysql> SELECT name,age FROM tb_students_info
    -> WHERE age<22;
+------+------+
| name | age  |
+------+------+
| John |   21 |
+------+------+
1 row in set (0.05 sec)

可以看到,查詢結(jié)果中所有記錄的 age 字段的值均小于 22 歲,而大于或等于 22 歲的記錄沒有被返回。

多條件的查詢語句

在 WHERE 關(guān)鍵詞后可以有多個查詢條件,這樣能夠使查詢結(jié)果更加精確。多個查詢條件時用邏輯運算符 AND(&&)、OR(||)或 XOR 隔開。

  • AND:記錄滿足所有查詢條件時,才會被查詢出來。

  • OR:記錄滿足任意一個查詢條件時,才會被查詢出來。

  • XOR:記錄滿足其中一個條件,并且不滿足另一個條件時,才會被查詢出來。

例 3

在 tb_students_info 表中查詢 age 大于 21,并且 height 大于等于 175 的學(xué)生信息,SQL 語句和運行結(jié)果如下。

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)

可以看到,查詢結(jié)果中所有記錄的 age 字段都大于 21 且 height 字段都大于等于 175。

例 4

在 tb_students_info 表中查詢 age 大于 21,或者 height 大于等于 175 的學(xué)生信息,SQL 語句和運行結(jié)果如下。

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)

可以看到,查詢結(jié)果中所有記錄的 age 字段都大于 21 或者 height 字段都大于等于 175。

例 5

在 tb_students_info 表中查詢 age 大于 21,并且 height 小于 175 的學(xué)生信息和 age 小于 21,并且 height 大于等于 175 的學(xué)生信息,SQL 語句和運行結(jié)果如下。

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)

可以看到,查詢結(jié)果中所有記錄的 age 字段都大于 21 且 height 字段都小于 175。tb_students_info 數(shù)據(jù)表中沒有 age 字段小于 21 且 height 字段大于等于 175 的記錄。

OR、AND 和 XOR 可以一起使用,但是在使用時要注意運算符的優(yōu)先級。

查詢條件越多,查詢出來的記錄就會越少。因為,設(shè)置的條件越多,查詢語句的限制就更多,能夠滿足所有條件的記錄就更少。為了使查詢出來的記錄正是自己想要的,可以在 WHERE 語句中將查詢條件設(shè)置的更加具體。

感謝各位的閱讀!關(guān)于“mysql中的where關(guān)鍵字如何使用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI