PostgreSQL 運算子
WHERE 子句中的運算子
我們可以在 WHERE
子句中使用不同的運算子
= | 等於 |
---|---|
< | 小於 |
> | 大於 |
<= | 小於或等於 |
>= | 大於或等於 |
<> | 不等於 |
!= | 不等於 |
LIKE | 檢查值是否匹配模式(區分大小寫) |
ILIKE | 檢查值是否匹配模式(不區分大小寫) |
AND(與) | 邏輯與 |
OR(或) | 邏輯或 |
IN | 檢查值是否在某個值範圍之間 |
介於 | 檢查值是否在某個值範圍之間 |
IS NULL | 檢查值是否為 NULL |
NOT(非) | 產生負結果,例如 NOT LIKE , NOT IN , NOT BETWEEN |
等於
當您希望返回列等於指定值的所有記錄時,使用 =
運算子
小於
當您希望返回列小於指定值的所有記錄時,使用 <
運算子。
大於
當您希望返回列大於指定值的所有記錄時,使用 >
運算子。
小於或等於
當您希望返回列小於或等於指定值的所有記錄時,使用 <=
運算子。
大於或等於
當您希望返回列大於或等於指定值的所有記錄時,使用 >=
運算子。
不等於
當您希望返回列不等於指定值的所有記錄時,使用 <>
運算子
使用 !=
運算子會得到相同的結果
LIKE
當您希望返回列等於指定模式的所有記錄時,使用 LIKE
運算子。
模式可以是像“Volvo”這樣的絕對值,也可以是帶有特殊含義的萬用字元。
通常與 LIKE 運算子一起使用兩個萬用字元
- 百分號
%
,代表零個、一個或多個字元。 - 下劃線
_
,代表一個單個字元。
LIKE
運算子區分大小寫。
ILIKE
與 LIKE
運算子相同,但 ILIKE
不區分大小寫。
AND(與)
當您想檢查多個條件時,使用邏輯 AND
運算子
OR(或)
當您可以接受多個條件中只有一個為真時,使用邏輯 OR
運算子
IN
當列的值與列表中的任何值匹配時,使用 IN
運算子
示例
返回品牌在此列表中的所有記錄:('Volvo', 'Mercedes', 'Ford')
SELECT * FROM cars
WHERE brand IN ('Volvo', 'Mercedes', 'Ford');
執行示例 »
介於
使用 BETWEEN
運算子檢查列的值是否在指定的值範圍之間
BETWEEN
運算子包含 from
和 to
值,這意味著在上述示例中,結果也將包括 1970 年和 1980 年生產的汽車。
IS NULL
使用 IS NULL
運算子檢查列的值是否為 NULL
NOT(非)
NOT
運算子可以與 LIKE
、ILIKE
、IN
、BETWEEN
和 NULL
運算子一起使用,以反轉運算子的真值。
示例:NOT IN
返回品牌不在此列表中的所有記錄:('Volvo', 'Mercedes', 'Ford')
SELECT * FROM cars
WHERE brand NOT IN ('Volvo', 'Mercedes', 'Ford');
執行示例 »
示例:NOT BETWEEN
返回年份不在 1970 到 1980 之間的所有記錄
SELECT * FROM cars
WHERE year NOT BETWEEN 1970 AND 1980;
執行示例 »
NOT BETWEEN
運算子排除 from
和 to
值,這意味著在上述示例中,結果將不包括 1970 年和 1980 年生產的汽車。
cars
表中沒有 NULL 值的列,因此上面的示例將返回所有 4 行。