在 SQL 中,子查詢可以在 CASE 語句中使用,以便根據子查詢的結果執行不同的操作。以下是一個使用子查詢的 CASE 語句示例:
假設我們有兩個表:employees
和 departments
。
employees
表結構如下:
id | name | department_id |
---|---|---|
1 | Alice | 1 |
2 | Bob | 2 |
3 | Carol | 1 |
departments
表結構如下:
id | name |
---|---|
1 | HR |
2 | Engineering |
我們想要查詢每個員工的名字以及他們所在部門的名稱。為了實現這個目標,我們可以使用 CASE 語句和子查詢:
SELECT e.name AS employee_name,
(CASE
WHEN d.name IS NOT NULL THEN d.name
ELSE 'Unknown'
END) AS department_name
FROM employees e
LEFT JOIN (
SELECT id, name
FROM departments
) d ON e.department_id = d.id;
在這個示例中,我們首先從 departments
表中選擇所有部門的 ID 和名稱。然后,我們將 employees
表與子查詢結果進行左連接,以便根據 department_id
獲取部門名稱。最后,我們使用 CASE 語句檢查部門名稱是否為 NULL,如果是,則返回 ‘Unknown’,否則返回實際的部門名稱。
執行此查詢后,我們將得到以下結果:
employee_name | department_name |
---|---|
Alice | HR |
Bob | Engineering |
Carol | HR |
這個示例展示了如何在 CASE 語句中使用子查詢來根據子查詢的結果執行不同的操作。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。