SQL - 表示式



什麼是 SQL 表示式?

SQL 表示式是由一個或多個值、運算子和 SQL 函式組合而成,這些函式都計算為一個值。這些 SQL 表示式就像公式一樣,它們是用查詢語言編寫的。您也可以使用它們來查詢資料庫以獲取特定資料集。

表示式用於 SQL 查詢的 WHERE 子句中。您可能已經知道,WHERE 子句指定需要滿足的條件,以便從資料庫表中過濾記錄。此條件包含單個或多個表示式。這些表示式進一步分為三種類型 -

  • 布林表示式
  • 數值表示式
  • 日期和時間表達式

讓我們在本節中詳細討論每個表示式。

語法

考慮包含一些表示式的 SELECT 語句的基本語法,如下所示 -

SELECT column1, column2, columnN
FROM table_name
WHERE [CONDITION|EXPRESSION];

SQL 布林表示式

SQL 布林表示式是返回布林資料型別作為結果的 SQL 表示式。這些表示式可以分為兩種型別 -

  • 使用 SQL 比較運算子檢查兩個值是否相等的布林表示式。此處,這些值的相等性是一個條件。
  • 布林表示式還可以包含一個值與 SQL 邏輯運算子配對。在這種情況下,指定的邏輯充當條件。

它們返回 TRUE、FALSE 或 UNKNOWN 作為結果。如果滿足條件,則這些表示式返回 TRUE;否則返回 FALSE。當表示式中的任何一個運算元為 NULL 值時,將返回 UNKNOWN。

語法

以下是布林表示式的語法 -

SELECT column1, column2, columnN 
FROM table_name 
WHERE BOOLEAN EXPRESSION;

示例

考慮具有以下記錄的 CUSTOMERS 表 -

ID 姓名 年齡 地址 工資
1 Ramesh 32 艾哈邁達巴德 2000.00
2 Khilan 25 德里 1500.00
3 kaushik 23 科塔 2000.00
4 Chaitali 25 孟買 6500.00
5 Hardik 27 博帕爾 8500.00
6 Komal 22 海得拉巴 4500.00
7 Muffy 24 因多爾 10000.00

以下查詢是一個簡單的示例,顯示了 SQL 布林表示式的用法 -

SELECT * FROM CUSTOMERS WHERE SALARY = 10000;

輸出

輸出將顯示為 -

ID 姓名 年齡 地址 工資
7 Muffy 24 因多爾 10000.00

SQL 數值表示式

SQL 數值表示式由兩個運算元和一個 SQL 算術運算子組成。這些表示式用於在任何查詢中執行任何數學運算。因此,運算元必須始終是數字,返回值也始終為數字。

語法

以下是語法 -

SELECT numerical_expression as OPERATION_NAME
FROM table_name
WHERE NUMERICAL EXPRESSION ;

此處,numerical_expression 用於數學表示式或任何公式。

示例

以下是一個簡單的示例,顯示了 SQL 數值表示式的用法 -

SELECT 15 + 6;

輸出

檢索到的輸出表為 -

21

示例

有幾個內建函式,如 avg()、sum()、count() 等,用於執行針對錶或特定表列的聚合資料計算。

SELECT COUNT(*) FROM CUSTOMERS;

輸出

輸出顯示如下 -

7

SQL 日期表示式

SQL 日期表示式用於將與日期相關的值與當前系統日期和時間值進行比較。例如,在製造公司中,可以透過在 WHERE 子句中使用日期表示式來按年對製造的物品進行分類。從一年中的第一天到最後一天進行計數,將檢索每個專案的計數;一旦收集到所需的資訊,公司就可以將其用於自身目的。

語法

以下是語法 -

SELECT column_name(s)
FROM table_name
WHERE DATE EXPRESSION ;

示例

在此示例中,我們嘗試使用 CURRENT_TIMESTAMP 簡單地檢索系統的當前時間戳。

SELECT CURRENT_TIMESTAMP;

輸出

輸出表顯示為 -

Current_Timestamp
2009-11-12 06:40:23

示例

考慮 ORDERS 表中的以下客戶訂單記錄

訂單 ID 客戶 ID 日期 訂單金額 商品數量
102 3 2009-10-08 00:00:00 3000 4
100 3 2009-10-08 00:00:00 1500 2
101 2 2009-11-20 00:00:00 1560 7
103 4 2008-05-20 00:00:00 2060 3

現在讓我們檢索 2008 年 6 月 1 日之前的記錄

SELECT * FROM ORDERS WHERE DATE < '2008/06/01';

輸出

輸出表顯示為 -

訂單 ID 客戶 ID 日期 訂單金額 商品數量
103 4 2008-05-20 00:00:00 2060 3
廣告