選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

PostgreSQL 運算子


WHERE 子句中的運算子

我們可以在 WHERE 子句中使用不同的運算子

=等於
<小於
>大於
<=小於或等於
>=大於或等於
<>不等於
!=不等於
LIKE檢查值是否匹配模式(區分大小寫)
ILIKE檢查值是否匹配模式(不區分大小寫)
AND(與)邏輯與
OR(或)邏輯或
IN檢查值是否在某個值範圍之間
介於檢查值是否在某個值範圍之間
IS NULL檢查值是否為 NULL
NOT(非)產生負結果,例如 NOT LIKE, NOT IN, NOT BETWEEN

等於

當您希望返回列等於指定值的所有記錄時,使用 = 運算子

示例

返回品牌為“Volvo”的所有記錄

SELECT * FROM cars
WHERE brand = 'Volvo';
執行示例 »

小於

當您希望返回列小於指定值的所有記錄時,使用 < 運算子。

示例

返回年份小於 1975 的所有記錄

SELECT * FROM cars
WHERE year < 1975;
執行示例 »

大於

當您希望返回列大於指定值的所有記錄時,使用 > 運算子。

示例

返回年份大於 1975 的所有記錄

SELECT * FROM cars
WHERE year > 1975;
執行示例 »

小於或等於

當您希望返回列小於或等於指定值的所有記錄時,使用 <= 運算子。

示例

返回年份小於或等於 1975 的所有記錄

SELECT * FROM cars
WHERE year <= 1975;
執行示例 »

大於或等於

當您希望返回列大於或等於指定值的所有記錄時,使用 >= 運算子。

示例

返回年份大於或等於 1975 的所有記錄

SELECT * FROM cars
WHERE year >= 1975;
執行示例 »

不等於

當您希望返回列不等於指定值的所有記錄時,使用 <> 運算子

示例

返回品牌不為“Volvo”的所有記錄

SELECT * FROM cars
WHERE brand <> 'Volvo';
執行示例 »

使用 != 運算子會得到相同的結果

示例

返回品牌不為“Volvo”的所有記錄

SELECT * FROM cars
WHERE brand != 'Volvo';
執行示例 »

LIKE

當您希望返回列等於指定模式的所有記錄時,使用 LIKE 運算子。

模式可以是像“Volvo”這樣的絕對值,也可以是帶有特殊含義的萬用字元。

通常與 LIKE 運算子一起使用兩個萬用字元

  • 百分號 %,代表零個、一個或多個字元。
  • 下劃線 _,代表一個單個字元。

示例

返回型號以大寫字母“M”開頭的所有記錄

SELECT * FROM cars
WHERE model LIKE 'M%';
執行示例 »

LIKE 運算子區分大小寫。


ILIKE

LIKE 運算子相同,但 ILIKE 不區分大小寫。

示例

返回型號以小寫字母“m”開頭的所有記錄

SELECT * FROM cars
WHERE model ILIKE 'm%';
執行示例 »

AND(與)

當您想檢查多個條件時,使用邏輯 AND 運算子

示例

返回品牌為“Volvo”且年份為 1968 的所有記錄

SELECT * FROM cars
WHERE brand = 'Volvo' AND year = 1968;
執行示例 »

OR(或)

當您可以接受多個條件中只有一個為真時,使用邏輯 OR 運算子

示例

返回品牌為“Volvo”或年份為 1975 的所有記錄

SELECT * FROM cars
WHERE brand = 'Volvo' OR year = 1975;
執行示例 »

IN

當列的值與列表中的任何值匹配時,使用 IN 運算子

示例

返回品牌在此列表中的所有記錄:('Volvo', 'Mercedes', 'Ford')

SELECT * FROM cars
WHERE brand IN ('Volvo', 'Mercedes', 'Ford');
執行示例 »

介於

使用 BETWEEN 運算子檢查列的值是否在指定的值範圍之間

示例

返回年份在 1970 到 1980 之間的所有記錄

SELECT * FROM cars
WHERE year BETWEEN 1970 AND 1980;
執行示例 »

BETWEEN 運算子包含 fromto 值,這意味著在上述示例中,結果也將包括 1970 年和 1980 年生產的汽車。


IS NULL

使用 IS NULL 運算子檢查列的值是否為 NULL

示例

返回型號為 NULL 的所有記錄

SELECT * FROM cars
WHERE model IS NULL;
執行示例 »

NOT(非)

NOT 運算子可以與 LIKEILIKEINBETWEENNULL 運算子一起使用,以反轉運算子的真值。

示例:NOT LIKE

返回品牌不以大寫字母“B”開頭的所有記錄(區分大小寫)

SELECT * FROM cars
WHERE brand NOT LIKE 'B%';
執行示例 »

示例:NOT ILIKE

返回品牌不以小寫字母“b”開頭的所有記錄(不區分大小寫)

SELECT * FROM cars
WHERE brand NOT ILIKE 'b%';
執行示例 »

示例: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 運算子排除 fromto 值,這意味著在上述示例中,結果將不包括 1970 年和 1980 年生產的汽車。

示例:IS NOT NULL

返回型號不為 null 的所有記錄

SELECT * FROM cars
WHERE model IS NOT NULL;
執行示例 »

cars 表中沒有 NULL 值的列,因此上面的示例將返回所有 4 行。


PostgreSQL 練習

透過練習來測試自己

練習

編寫正確的 SQL 語句,選擇所有欄位 year 的值小於 1970 的記錄

SELECT * FROM cars
WHERE ;
        

開始練習


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援