(GIỚI THIỆU) THAM GIA: Trả về các bản ghi có giá trị khớp trong cả hai bảng.
TRÁI (NGOÀI) THAM GIA: Trả lại tất cả các bản ghi từ bảng bên trái và các bản ghi khớp từ bảng bên phải.
RIGHT (OUTER) THAM GIA: Trả lại tất cả các bản ghi từ bảng bên phải và các bản ghi khớp từ bảng bên trái.
FULL (OUTER) THAM GIA: Trả lại tất cả các bản ghi khi có một trận đấu trong bảng bên trái hoặc bên phải
Ví dụ: giả sử chúng ta có hai bảng với các bản ghi sau:
Bảng A
id firstname lastname
___________________________
1 Ram Thapa
2 sam Koirala
3 abc xyz
6 sruthy abc
Bảng B
id2 place
_____________
1 Nepal
2 USA
3 Lumbini
5 Kathmandu
Tham gia nội bộ
Lưu ý: Nó cho giao điểm của hai bảng.
Cú pháp
SELECT column_name FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
Áp dụng nó trong bảng mẫu của bạn:
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA INNER JOIN TableB ON TableA.id = TableB.id2;
Kết quả sẽ là:
firstName lastName Place
_____________________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
Chỗ nối bên trái
Lưu ý: sẽ cung cấp cho tất cả các hàng được chọn trong TableA, cộng với bất kỳ hàng được chọn phổ biến nào trong TableB.
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;
Áp dụng nó trong bảng mẫu của bạn
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA LEFT JOIN TableB ON TableA.id = TableB.id2;
Kết quả sẽ là:
firstName lastName Place
______________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
sruthy abc Null
Phải tham gia
Lưu ý: sẽ cung cấp cho tất cả các hàng được chọn trong TableB, cộng với bất kỳ hàng được chọn phổ biến nào trong TableA.
Cú pháp:
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;
Áp dụng nó trong bảng samole của bạn:
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA RIGHT JOIN TableB ON TableA.id = TableB.id2;
Kết quả sẽ bw:
firstName lastName Place
______________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
Null Null Kathmandu
Tham gia đầy đủ
Lưu ý: Nó giống như hoạt động hợp nhất, nó sẽ trả về tất cả các giá trị được chọn từ cả hai bảng.
Cú pháp:
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;
Áp dụng nó trong samp của bạn [le bảng:
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA FULL JOIN TableB ON TableA.id = TableB.id2;
Kết quả sẽ là:
firstName lastName Place
______________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
sruthy abc Null
Null Null Kathmandu
Một số sự thật
Đối với INNER tham gia đơn hàng không thành vấn đề
Đối với OUTER (TRÁI, PHẢI hoặc ĐẦY ĐỦ) tham gia, vấn đề thứ tự
Tìm thêm tại w3schools
RIGHT JOIN
nếu chúng ta có thể đạt được bất kỳ kết quả mong muốn nào chỉ vớiLEFT JOIN
? : P