SQL WHERE 子句

WHERE 子句用於規定選擇的標準。白話點就是:where用來過濾掉不滿足條件的記錄(把所有存儲在數據庫中的數據稱之爲記錄),獲取滿足條件的記錄。

WHERE 子句

如需有條件地從表中選取數據,可將 WHERE 子句添加到 SELECT 語句。

語法

SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值;

下面的運算符可在 WHERE 子句中使用:

操作符 描述
= Equal
<> 不等於
> 大於
< 小於
>= 大於等於
<= 小於等於
BETWEEN 在某個範圍內
LIKE 搜索某種模式

註釋:在某些版本的 SQL 中,操作符 <> 可以寫爲 !=。

使用WHERE子句

如果只需選取居住於城市 "Sandnes" 中的某些人,我們需要向 SELECT 語句添加 WHERE 子句:

SELECT * FROM Persons WHERE City='Sandnes';

"Persons" 表

LastName FirstName Address City Year
Hansen Ola Timoteivn 10 Sandnes 1951
Svendson Tove Borgvn 23 Sandnes 1978
Svendson Stale Kaivn 18 Sandnes 1980
Pettersen Kari Storgt 20 Stavanger 1960

結果:

LastName FirstName Address City Year
Hansen Ola Timoteivn 10 Sandnes 1951
Svendson Tove Borgvn 23 Sandnes 1978
Svendson Stale Kaivn 18 Sandnes 1980

引號的使用

請注意,我們在例子中的條件值周圍使用的是單引號,建議一直使用單引號,這個也是個好習慣。

SQL 使用單引號來環繞文本值(大部分數據庫系統也接受雙引號)。如果是數值,請不要使用引號。

文本值:

這是正確的:
SELECT * FROM Persons WHERE FirstName='Tove';

這是錯誤的:
SELECT * FROM Persons WHERE FirstName=Tove;

數值:

這是正確的:
SELECT * FROM Persons WHERE Year>1965;

這是錯誤的:
SELECT * FROM Persons WHERE Year>'1965';

LIKE 條件

LIKE 用於規定針對列中某個模式的搜索。

語法

SELECT 列 FROM 表 WHERE 列 LIKE 模式

符號"%"可用於定義模式之前及模式之後的通配符(模式中缺少的字符)。

使用LIKE

下面的語句會返回名字的第一個字符爲 'O' 的人:

SELECT * FROM Persons WHERE FirstName LIKE 'O%';

下面的語句會返回名字的最後一個字符爲 'a' 的人:

SELECT * FROM Persons WHERE FirstName LIKE '%a';

下面的語句會返回名字中包含字符 'la' 的人:

SELECT * FROM Persons WHERE FirstName LIKE '%la%';

SQL 通配符(LIKE)

在搜索數據庫中的數據時,SQL 通配符可以替代一個或多個字符。

SQL 通配符必須與 LIKE 運算符一起使用。

在 SQL 中,可使用以下通配符:

通配符描述
%替代一個或多個字符
_僅替代一個字符
[charlist]字符列中的任何單一字符

[^charlist]

或者

[!charlist]

不在字符列中的任何單一字符
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章