Thứ Bảy, 30 tháng 5, 2015

SQL - Bài 13: Join nâng cao




Trong bài học hôm nay chúng ta sẽ cùng học về:
1. Join nâng cao hay join thông minh trong SQL server
2. Chỉ lấy các hàng không kết hợp của bảng bên trái
3. Chỉ lấy các hàng không kết hợp của bảng bên phải
4. Chỉ lấy các hàng không kết hợp của cả 2 bảng trái và phải
Trước khi học bài này bạn nên xem lại bài 12 - phép kết

Xem xét các bảng Employees (tblEmployee) and Departments (tblDepartment)
Employees


Departments Table (tblDepartment)


Làm thế nào để lấy chỉ các hàng không kết hợp của bảng bên trái. Kết quả được tạo ra như bên dưới


Truy vấn:
SELECT       Name, Gender, Salary, DepartmentName
FROM           tblEmployee E
LEFT JOIN   tblDepartment D
ON                 E.DepartmentId = D.Id
WHERE        D.Id IS NULL



Làm thế nào để chỉ lấy các hàng không kết hợp của bảng bên phải



Truy vấn:
SELECT         Name, Gender, Salary, DepartmentName
FROM             tblEmployee E
RIGHT JOIN    tblDepartment D
ON                   E.DepartmentId = D.Id
WHERE          E.DepartmentId IS NULL 



Làm thể nào để lấy các hàng không kết hợp từ cả 2 bảng bên trái và bảng bên phải. Các hàng kết hợp phải bị loại bỏ


Truy vấn:
SELECT         Name, Gender, Salary, DepartmentName
FROM              tblEmployee E
FULL JOIN      tblDepartment D
ON                   E.DepartmentId = D.Id
WHERE          E.DepartmentId IS NULL
OR                   D.Id IS NULL



Không có nhận xét nào:

Đăng nhận xét