Các Loại JOIN Trong SQL Server
SQL Server cung cấp các kiểu JOIN là INNER JOIN, OUTER JOIN, và CROSS JOIN.
- FULL OUTER JOIN: kết quả gồm tất cả các bản ghi của cả hai bảng. Với các bản ghi chỉ xuất hiện trong một bảng thì các cột dữ liệu từ bảng kia được điền giá trị NULL.
- HALF OUTER JOIN (LEFT hoặc RIGHT): nếu bảng A LEFT OUTER JOIN với bảng B thì kết quả gồm các bản ghi có trong bảng A, với các bản ghi không có mặt trong bảng B thì các cột từ B được điền NULL. Các bản ghi chỉ có trong B mà không có trong A sẽ không được trả về.
CREATE TABLE T1(ID1 INT, Ten VARCHAR(100) )
INSERT INTO T1
SELECT 1, 'Mozart' UNION ALL
SELECT 2, 'Beethoven' UNION ALL
SELECT 3, 'Chopin'
CREATE TABLE T2(ID2 INT, Email VARCHAR(100) )
INSERT INTO T2
SELECT 2, 'beethoven@gmail.com' UNION ALL
SELECT 3, 'chopin@hotmail.com' UNION ALL
SELECT 4, 'haydn@yahoo.com' UNION ALL
SELECT 5, 'bach@yahoo.com'
--INNER JOIN kiểu ANSI
SELECT *
FROM T1 JOIN T2 ON T1.ID = T2.ID
--INNER JOIN kiểu cũ
SELECT *
FROM T1, T2
WHERE T1.ID = T2.ID
-- LEFT OUTER JOIN kiểu ANSI
SELECT *
FROM T1 LEFT JOIN T2 ON T1.ID = T2.ID
--LEFT OUTER JOIN kiểu cũ
SELECT *
FROM T1, T2
WHERE T1.ID *= T2.ID





0 comments: