WHERE 條件
有時候操作數(shù)據(jù)庫時,只操作一些有條件限制的數(shù)據(jù),這時可以在SQL語句中添加WHERE子句來規(guī)定數(shù)據(jù)操作的條件。
語法:
代碼如下:
SELECT column,… FROM tb_name WHERE definition
WHERE 關(guān)鍵字后面接有效的表達式(definition),該表達式表示被操作的數(shù)據(jù)記錄必須滿足的條件。
除 SELECT 外,WHERE 條件關(guān)鍵字可以用于任何 SQL 語法允許的場合,如 UPDATE(更新)、DELETE(刪除)等。
例子:
代碼如下:
SELECT * FROM user WHERE username = 'Jack'
該例子指定查詢條件為 username 等于 Jack 的數(shù)據(jù)。
WHERE 表達式中運算符說明:
參數(shù)說明:
運算符 說明
= 等于
!= 不等于,某些數(shù)據(jù)庫系統(tǒng)也寫作 <>
> 大于
< 小于
>= 大于或等于
<= 小于或等于
BETWEEN … AND … 介于某個范圍之內(nèi),例:WHERE age BETWEEN 20 AND 30
NOT BETWEEN …AND … 不在某個范圍之內(nèi)
IN(項1,項2,…) 在指定項內(nèi),例:WHERE city IN('beijing','shanghai')
NOT IN(項1,項2,…) 不在指定項內(nèi)
LIKE 搜索匹配,常與模式匹配符配合使用
NOT LIKE LIKE的反義
IS NULL 空值判斷符
IS NOT NULL 非空判斷符
NOT、AND、OR 邏輯運算符,分別表示否、并且、或,用于多個邏輯連接。
優(yōu)先級:NOT > AND > OR
% 模式匹配符,表示任意字串,例:WHERE username LIKE '%user'
一些 WHERE 例子
根據(jù)用戶名查詢指定用戶:
代碼如下:
SELECT * FROM user WHERE username = 'Jack'
查詢2009年1月1日凌晨0點以后注冊的用戶名稱及 id 號:
代碼如下:
$regdate = mktime(00, 00, 01, 01, 01, 2009);
SELECT uid,username FROM user WHERE regdate >= $regdate
搜索用戶名中含有 user 字樣的所有用戶:
代碼如下:
SELECT * FROM user WHERE username LIKE '%user%'
搜索用戶名中含有 user 或者 admin 的所有用戶:
代碼如下:
SELECT * FROM user WHERE username LIKE '%user%' OR username LIKE '%admin%'
更多信息請查看IT技術(shù)專欄