中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

ISNULL函數在處理聯合查詢空值時的應用

sql
小樊
84
2024-09-06 05:08:29
欄目: 編程語言

ISNULL() 函數是 SQL Server 中的一個內置函數,用于檢查指定的表達式是否為 NULL,如果是,則返回指定的替換值

以下是一個使用 ISNULL() 函數處理聯合查詢空值的示例:

假設我們有兩個表,一個是員工表(Employee),另一個是部門表(Department)。我們想要查詢每個員工及其所屬部門的名稱。但是,有些員工可能沒有分配到任何部門,因此部門名稱為 NULL。

-- 創建 Employee 表
CREATE TABLE Employee (
    EmployeeID INT PRIMARY KEY,
    Name NVARCHAR(50),
    DepartmentID INT
);

-- 創建 Department 表
CREATE TABLE Department (
    DepartmentID INT PRIMARY KEY,
    DepartmentName NVARCHAR(50)
);

-- 插入數據
INSERT INTO Employee (EmployeeID, Name, DepartmentID)
VALUES (1, 'Alice', 1), (2, 'Bob', NULL), (3, 'Charlie', 2);

INSERT INTO Department (DepartmentID, DepartmentName)
VALUES (1, 'HR'), (2, 'IT');

現在,我們將使用聯合查詢和 ISNULL() 函數來查詢每個員工及其所屬部門的名稱。如果部門名稱為 NULL,我們將使用 “Unassigned” 作為默認值。

SELECT E.EmployeeID, E.Name, ISNULL(D.DepartmentName, 'Unassigned') AS DepartmentName
FROM Employee E
LEFT JOIN Department D ON E.DepartmentID = D.DepartmentID;

這將返回以下結果:

EmployeeID | Name     | DepartmentName
-----------+----------+----------------
1          | Alice    | HR
2          | Bob      | Unassigned
3          | Charlie  | IT

在這個例子中,我們使用了 LEFT JOIN 來連接 Employee 和 Department 表。對于那些沒有分配部門的員工,DepartmentName 將顯示為 NULL。通過使用 ISNULL() 函數,我們可以將這些 NULL 值替換為 “Unassigned”。

0
衡阳县| 绩溪县| 石景山区| 济南市| 长春市| 龙泉市| 怀远县| 白城市| 湖北省| 桐庐县| 密云县| 盐津县| 灵川县| 凉城县| 武穴市| 邮箱| 桐庐县| 乐安县| 台东市| 东台市| 韶山市| 比如县| 晋州市| 宜兴市| 吉安县| 平原县| 沁水县| 云霄县| 临城县| 英吉沙县| 延庆县| 清水县| 灵川县| 新乡县| 大同市| 武功县| 荥阳市| 区。| 个旧市| 新昌县| 防城港市|