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
![](http://1.bp.blogspot.com/-Vcx-3htjPQg/UDAMLjyt0DI/AAAAAAAAAOg/BtLhH8R8FDw/s1600/Employee+Table.png)
Departments Table (tblDepartment)
![](http://3.bp.blogspot.com/-vDO9snMmgNY/UDAM0WTM3JI/AAAAAAAAAOo/imr45r8Kp84/s1600/Departments+Table.png)
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
![](http://1.bp.blogspot.com/-7vt-QpC4mZ8/UDDiiSTHcUI/AAAAAAAAAPo/5x1-GB7B9VM/s1600/Only+Left+Table+Rows.png)
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
![](http://3.bp.blogspot.com/-W786ZRKdDv4/UDDjTQ4I4pI/AAAAAAAAAPw/npdNQfjsj4g/s1600/Left+only+join.png)
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
![](http://1.bp.blogspot.com/-ycu3SCB-mn0/UDDj12WVhYI/AAAAAAAAAP4/WoJn5XGOlJc/s1600/Only+Right+Table+Rows.png)
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
![](http://4.bp.blogspot.com/-uR5D0FJrsTA/UDDk_uF0MBI/AAAAAAAAAQA/Y0XT6Pq13_I/s1600/Right+only+join.png)
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ỏ
![](http://2.bp.blogspot.com/-fMtTq7tW970/UDDlohSH3VI/AAAAAAAAAQI/cVT-rdc2lDo/s1600/Only+Left+and+Right+Table+Rows.png)
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
![](http://2.bp.blogspot.com/-syyGLKuQlVM/UDDmhVLmTPI/AAAAAAAAAQQ/u-aJO0r-MNo/s1600/Left+and+right+only+join.png)
Không có nhận xét nào:
Đăng nhận xét