SQL NOT 運算子

摘要:在本教程中,您將學習如何使用 SQL NOT 運算子來否定布林表示式。

SQL NOT 運算子簡介 #

NOT 運算子允許您否定一個條件。它返回與條件結果相反的值。

NOT conditionCode language: SQL (Structured Query Language) (sql)

如果條件trueNOT 運算子會使其變為 false,反之亦然。但是,如果條件NULLNOT 運算子仍返回 NULL

下表顯示了 NOT 運算子的結果。

條件NOT 條件
truefalse
falsetrue
NULLNULL

在實踐中,您會發現 NOT 運算子在以下情況中很有用:

  • 用於篩選不匹配特定條件的行。
  • 與其他邏輯運算子ANDOR)結合,構建複雜的查詢。

SQL NOT 運算子示例 #

在下面的示例中,我們將使用示例資料庫中的 employees 表。

employees_table

否定條件 #

以下查詢使用 NOT 運算子來檢索薪水不大於或等於 3000 的員工:

SELECT
  first_name,
  salary
FROM
  employees
WHERE
  NOT salary >= 3000;Code language: SQL (Structured Query Language) (sql)

試一試

輸出

 first_name | salary
------------+---------
 Shelli     | 2900.00
 Sigal      | 2800.00
 Guy        | 2600.00
 Karen      | 2500.00
 Irene      | 2700.00Code language: SQL (Structured Query Language) (sql)

在此示例中:

  • 條件 salary >= 3000 篩選出薪水大於或等於 3000 的員工。
  • NOT 運算子則獲取薪水為 3000 或更少的員工。

將 NOT 運算子與其他邏輯運算子一起使用 #

以下查詢查詢不在 IT(10)和 HR(20)部門的員工:

SELECT
  first_name,
  last_name,
  department_id
FROM
  employees
WHERE
  NOT (
    department_id = 10
    OR department_id = 20
  );Code language: SQL (Structured Query Language) (sql)

試一試

輸出

 first_name |  last_name  | department_id
------------+-------------+---------------
 Steven     | King        |             9
 Neena      | Kochhar     |             9
 Lex        | De Haan     |             9
 Alexander  | Hunold      |             6
 Bruce      | Ernst       |             6
 David      | Austin      |             6
...Code language: SQL (Structured Query Language) (sql)

在此示例中:

  • 條件 department_id = 10 OR department_id = 20 檢索部門 ID 為 10 (IT) 和 20 (HR) 的員工。
  • NOT 運算子將他們排除在外。

摘要 #

  • 使用 NOT 運算子來否定一個布林表示式。

測驗 #

本教程是否有幫助?
© .