首頁 資料庫 SQL sql中case when用法

sql中case when用法

Jul 17, 2023 pm 03:37 PM
case when

sql中case when用於在SQL查詢中根據不同的條件執行不同的操作。可以根據任意條件進行判斷,並根據條件的結果執行相應的操作,CASE WHEN語句的工作原理是從上到下逐個判斷條件,一旦有條件滿足則執行相應的操作,並且只會執行第一個滿足條件的操作。

sql中case when用法

SQL中的CASE WHEN語句是一種條件式,用於在SQL查詢中根據不同的條件執行不同的操作。它可以根據任意條件進行判斷,並根據條件的結果執行相應的操作。在SQL中,CASE WHEN語句的語法如下:

CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
登入後複製

在此語法中,condition1和condition2是條件式,可以是任何與SQL相容的條件。 result1和result2是執行結果,可以是列名、常數值或表達式。最後的ELSE result是可選的,用於處理其他沒有滿足條件的情況。

CASE WHEN語句的工作原理是從上到下逐個判斷條件,一旦有條件滿足則執行對應的操作,並且只會執行第一個滿足條件的操作。如果沒有條件滿足,則會執行ELSE區塊中的操作。

下面是一些CASE WHEN語句的範例:

1. 簡單的CASE WHEN語句:

SELECT
customer_name,
CASE
WHEN gender = 'Male' THEN 'Mr.'
WHEN gender = 'Female' THEN 'Ms.'
ELSE 'Unknown'
END AS salutation
FROM
customers;
登入後複製

上述查詢將根據性別欄位產生不同的稱謂,如果性別是Male,則稱謂為'Mr.',如果性別是Female,則稱謂為'Ms.',其他情況下則稱謂為'Unknown'。

2. CASE WHEN語句與聚合函數的組合:

SELECT
department_id,
COUNT(*) AS employees_count,
CASE
WHEN COUNT(*) > 10 THEN 'Large'
WHEN COUNT(*) > 5 THEN 'Medium'
ELSE 'Small'
END AS department_size
FROM
employees
GROUP BY
department_id;
登入後複製

上述查詢將根據每個部門中的員工數量,將部門分為大型、中型和小型三個不同的類別。

3. CASE WHEN語句在WHERE子句中的應用:

SELECT
order_id,
order_date,
CASE
WHEN order_status = 'Shipped' THEN 1
ELSE 0
END AS shipped_flag
FROM
orders
WHERE
CASE
WHEN order_status = 'Shipped' THEN 1
ELSE 0
END = 1;
登入後複製

上述查詢將只傳回已經出貨的訂單,篩選條件使用了CASE WHEN語句。

總結

CASE WHEN語句是SQL中非常有用的條件式,可以根據不同的條件執行不同的運算。它提供了一種靈活的方式來處理不同的場景,讓查詢更加簡潔和直觀。無論是產生新的欄位、計算統計結果或篩選數據,CASE WHEN語句都能滿足需求,並協助最佳化SQL查詢。

以上是sql中case when用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

sql datetime怎麼用 sql datetime怎麼用 Apr 09, 2025 pm 06:09 PM

DATETIME 數據類型用於存儲高精度的日期和時間信息,範圍為 0001-01-01 00:00:00 至 9999-12-31 23:59:59.9999999,語法為 DATETIME(precision),其中 precision 指定小數點後精度 (0-7),默認為 3。它支持排序、計算和時區轉換功能,但需要注意精度、範圍和時區轉換時的潛在問題。

sql server怎麼用sql語句創建表 sql server怎麼用sql語句創建表 Apr 09, 2025 pm 03:48 PM

在 SQL Server 中使用 SQL 語句創建表的方法:打開 SQL Server Management Studio 並連接到數據庫服務器。選擇要創建表的數據庫。輸入 CREATE TABLE 語句,指定表名、列名、數據類型和約束。單擊執行按鈕創建表。

sql if語句怎麼用 sql if語句怎麼用 Apr 09, 2025 pm 06:12 PM

SQL IF 語句用於有條件地執行 SQL 語句,語法為: IF (condition) THEN {語句} ELSE {語句} END IF;。條件可以是任何有效的 SQL 表達式,如果條件為真,執行 THEN 子句;如果條件為假,執行 ELSE 子句。 IF 語句可以嵌套,允許更複雜的條件檢查。

sql優化常用的幾種方法 sql優化常用的幾種方法 Apr 09, 2025 pm 04:42 PM

常用的 SQL 優化方法包括:索引優化:創建適當的索引加速查詢。查詢優化:使用正確的查詢類型、適當的 JOIN 條件和子查詢代替多表連接。數據結構優化:選擇合適的表結構、字段類型和盡量避免使用 NULL 值。查詢緩存:啟用查詢緩存存儲經常執行的查詢結果。連接池優化:使用連接池復用數據庫連接。事務優化:避免嵌套事務、使用適當的隔離級別和批處理操作。硬件優化:升級硬件和使用 SSD 或 NVMe 存儲。數據庫維護:定期運行索引維護任務、優化統計信息和清理未使用的對象。查詢

sql去重distinct怎麼用 sql去重distinct怎麼用 Apr 09, 2025 pm 06:21 PM

SQL 中使用 DISTINCT 去重有兩種方法:SELECT DISTINCT:僅保留指定列的唯一值,保持原始表順序。 GROUP BY:保留分組鍵的唯一值,重新排序表中行。

sql中declare的用法 sql中declare的用法 Apr 09, 2025 pm 04:45 PM

SQL 中 DECLARE 語句用於聲明變量,即存儲可變值的佔位符。語法為:DECLARE <變量名> <數據類型> [DEFAULT <默認值>];其中 <變量名> 為變量名稱,<數據類型> 為其數據類型(如 VARCHAR 或 INTEGER),[DEFAULT <默認值>] 為可選的初始值。 DECLARE 語句可用於存儲中間

sql分頁什麼意思 sql分頁什麼意思 Apr 09, 2025 pm 06:00 PM

SQL 分页是一种分段检索大数据集的技术,提高性能和用户体验。使用 LIMIT 子句指定要跳過的記錄數(offset)和要返回的記錄數(limit),例如:SELECT * FROM table LIMIT 10 OFFSET 20;优点包括提高性能、增强用户体验、节省内存和简化数据处理。

SQL注入怎麼判斷 SQL注入怎麼判斷 Apr 09, 2025 pm 04:18 PM

判斷 SQL 注入的方法包括:檢測可疑輸入、查看原始 SQL 語句、使用檢測工具、查看數據庫日誌和進行滲透測試。檢測到注入後,採取措施修補漏洞、驗證補丁、定期監控、提高開發人員意識。

See all articles