http://vietjack.com/sql/index.jsp Copyright © vietjack.com http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 CARTESIAN JOIN hoặc CROSS JOIN trong SQL CARTESIAN JOI
Trang 1http://vietjack.com/sql/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1
CARTESIAN JOIN hoặc CROSS JOIN
trong SQL
CARTESIAN JOIN hoặc CROSS JOIN trong SQL trả về tích Đề-các của các tập hợp bản ghi từ
hai hoặc nhiều bảng đã được kết hợp Vì thế, nó tương đương như một INNER JOIN khi join-condition luôn luôn ước lượng là True hoặc khi join-join-condition là vắng mặt trong lệnh
Cú pháp
Cú pháp cơ bản của CARTESIAN JOIN hoặc CROSS JOIN trong SQL như sau:
SELECT bang1.cot1, bang2.cot2
FROM bang1, bang2 [, bang3 ]
Ví d ụ
Giả sử có hai bảng, bảng SINHVIEN có các bản ghi sau:
+ + -+ -+ -+ -+
| ID | TEN | TUOI| KHOAHOC | HOCPHI |
+ + -+ -+ -+ -+
| 1 | Hoang | 21 CNTT | 4000000 |
| 2 | Viet | 19 DTVT | 3000000 |
| 3 | Thanh | 18 KTDN | 4000000 |
| 4 | Nhan | 19 CK | 4500000 |
| 5 | Huong | 20 TCNH | 5000000 |
+ + -+ -+ -+ -+
Bảng MUONSACH có các bản ghi sau:
+ -+ -+ -+ -+
|STT | NGAY | SINHVIEN_ID | SOTIEN |
+ -+ -+ -+ -+
| 102 2009-10-08 00:00:00 3 | 320
| 100 2009-10-08 00:00:00 3 | 250
| 101 2009-11-20 00:00:00 2 | 280
| 103 2008-05-20 00:00:00 4 | 290
Trang 2http://vietjack.com/sql/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 2
+ -+ -+ -+ -+
Bây giờ, chúng ta kết hợp hai bảng bởi sử dụng CARTESIAN JOIN trong SQL như sau:
SQL> SELECT ID, TEN, SOTIEN, NGAY
FROM SINHVIEN, MUONSACH;
Ví dụ trên sẽ cho kết quả:
+ + -+ -+ -+
| ID | TEN | SOTIEN | NGAY |
+ + -+ -+ -+
| 1 | Hoang | 320 2009-10-08 00:00:00
| 1 | Hoang | 250 2009-10-08 00:00:00
| 1 | Hoang | 280 2009-11-20 00:00:00
| 1 | Hoang | 290 2008-05-20 00:00:00
| 2 | Viet | 320 2009-10-08 00:00:00
| 2 | Viet | 250 2009-10-08 00:00:00
| 2 | Viet | 280 2009-11-20 00:00:00
| 2 | Viet | 290 2008-05-20 00:00:00
| 3 | Thanh | 320 2009-10-08 00:00:00
| 3 | Thanh | 250 2009-10-08 00:00:00
| 3 | Thanh | 280 2009-11-20 00:00:00
| 3 | Thanh | 290 2008-05-20 00:00:00
| 4 | Nhan 320 2009-10-08 00:00:00
| 4 | Nhan 250 2009-10-08 00:00:00
| 4 | Nhan 280 2009-11-20 00:00:00
| 4 | Nhan 290 2008-05-20 00:00:00
| 5 | Huong | 320 2009-10-08 00:00:00
| 5 | Huong | 250 2009-10-08 00:00:00
| 5 | Huong | 280 2009-11-20 00:00:00
| 5 | Huong | 290 2008-05-20 00:00:00
+ + -+ -+ -+