91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
沈丘县| 清河县| 桐柏县| 喀什市| 星座| 色达县| 湘潭市| 木里| 永福县| 遵化市| 武隆县| 临夏市| 盐城市| 乌苏市| 灵武市| 榆树市| 涡阳县| 金寨县| 大石桥市| 嵊泗县| 民县| 金乡县| 满城县| 北辰区| 会宁县| 隆德县| 乐陵市| 乌拉特后旗| 益阳市| 临泉县| 海原县| 绥江县| 青川县| 望都县| 通海县| 黑龙江省| 伽师县| 大连市| 澄城县| 庐江县| 仁怀市|