SQL WHERE 子句
WHERE 子句用於過濾記錄。
SQL WHERE 子句
WHERE 子句用於提取那些滿足指定標准的記錄。
SQL WHERE 語法
SELECT column_name,column_name FROM table_name WHERE column_name operator value;
演示數據庫
在本教程中,我們將使用 RUNOOB 樣本數據庫。
下面是選自 "Websites" 表的數據:
+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘寶 | https://www.taobao.com/ | 13 | CN | | 3 | 菜鳥教程 | http://www.runoob.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | +----+--------------+---------------------------+-------+---------+
WHERE 子句實例
下面的 SQL 語句從 "Websites" 表中選取國家為 "CN" 的所有網站:
實例
SELECT * FROM Websites WHERE country='CN';
執行輸出結果:
文本字段 vs. 數值字段
SQL 使用單引號來環繞文本值(大部分數據庫系統也接受雙引號)。
在上個實例中 'CN' 文本字段使用了單引號。
如果是數值字段,請不要使用引號。
實例
SELECT * FROM Websites WHERE id=1;
執行輸出結果:
WHERE 子句中的運算符
下面的運算符可以在 WHERE 子句中使用:
運算符 | 描述 |
---|---|
= | 等於 |
<> | 不等於。注釋:在 SQL 的一些版本中,該操作符可被寫成 != |
> | 大於 |
< | 小於 |
>= | 大於等於 |
<= | 小於等於 |
BETWEEN | 在某個范圍內 |
LIKE | 搜索某種模式 |
IN | 指定針對某個列的多個可能值 |
Where 子句
搜索 empno 等於 7900 的數據:
Where +條件(篩選行)
條件:列,比較運算符,值
比較運算符包涵:= > < >= ,<=, !=,<> 表示(不等於)
例子中的 SMITH 用單引號引起來,表示是字符串,字符串要區分大小寫。
邏輯運算
And:與 同時滿足兩個條件的值。
查詢 EMP 表中 SAL 列中大於 2000 小於 3000 的值。
Or:或 滿足其中一個條件的值
查詢 emp 表中 SAL 大於 2000 或 COMM 大於500的值。
Not:非 滿足不包含該條件的值。
查詢EMP表中 sal 小於等於 1500 的值。
邏輯運算的優先級:
特殊條件
1.空值判斷: is null
查詢 emp 表中 comm 列中的空值。
2.between and (在 之間的值)
查詢 emp 表中 SAL 列中大於 1500 的小於 3000 的值。
注意:1500 為下限,3000 為上限,下限在前,上限在后,查詢的范圍包涵有上下限的值。
3.In
查詢 EMP 表 SAL 列中等於 5000,3000,1500 的值。
4.like
Like模糊查詢
查詢 EMP 表中 Ename 列中有 M 的值,M 為要查詢內容中的模糊信息。