- Chuyên mục khác :
- Git cơ bản và nâng cao
- ·
- MySQL cơ bản và nâng cao
- ·
- MongoDB cơ bản và nâng cao
- ·
- SQL cơ bản và nâng cao
- ·
- Linux cơ bản và nâng cao
- Cơ bản về SQL
- Học SQL cơ bản và nâng cao
- SQL là gì
- Các khái niệm RDBMS trong SQL
- RDBMS Database trong SQL
- Cú pháp SQL cơ bản
- Kiểu dữ liệu trong SQL
- Toán tử trong SQL
- Biểu thức trong SQL
- SQL Database
- Lệnh CREATE DATABASE trong SQL
- Lệnh DROP Database trong SQL
- Lệnh SELECT DATABASE trong SQL
- Lệnh RENAME DATABASE trong SQL
- SQL Table
- CREATE Table trong SQL - Tạo bảng trong SQL
- Lệnh DROP Table trong SQL
- DELETE trong SQL
- Lệnh RENAME Table trong SQL
- Lệnh TRUNCATE TABLE trong SQL
- Lệnh ALTER TABLE trong SQL
- Mô phỏng bảng trong SQL
- Bảng tạm (Temporary Table) trong SQL
- Nhóm lệnh thao tác cơ bản
- UPDATE trong SQL
- Truy vấn INSERT trong SQL
- Truy vấn SELECT trong SQL
- Mệnh đề ORDER BY trong SQL
- Mệnh đề GROUP BY trong SQL
- Từ khóa DISTINCT trong SQL
- Sắp xếp kết quả trong SQL
- Mệnh đề trong SQL
- Mệnh đề WHERE trong SQL
- Toán tử liên hợp AND và OR trong SQL
- Mệnh đề With trong SQL
- Mệnh đề LIKE trong SQL
- Mệnh đề TOP, LIMIT, ROWNUM trong SQL
- Hoạt động SQL nâng cao
- Mệnh đề UNION trong SQL
- Giá trị NULL trong SQL
- Alias trong SQL
- Chỉ mục (Index) trong SQL
- Sử dụng View trong SQL
- Mệnh đề HAVING trong SQL
- Transaction trong SQL
- Toán tử wildcard trong SQL
- Truy vấn con trong SQL
- Sử dụng Sequence trong SQL
- Xử lý bản sao trong SQL (DISTINCT)
- Injection trong SQL
- Ràng buộc trong SQL
- Ràng buộc (Constraint) trong SQL
- Ràng buộc NOT NULL trong SQL
- Ràng buộc DEFAULT trong SQL
- Ràng buộc UNIQUE trong SQL
- Ràng buộc PRIMARY KEY trong SQL
- Ràng buộc FOREIGN KEY trong SQL
- Ràng buộc CHECK trong SQL
- Ràng buộc INDEX trong SQL
- SQL Join
- Mệnh đề JOINS trong SQL
- INNER JOIN trong SQL
- LEFT JOIN trong SQL
- RIGHT JOIN trong SQL
- FULL JOIN trong SQL
- SELF JOIN trong SQL
- CARTESIAN JOIN hoặc CROSS JOIN trong SQL
- Hàm trong SQL
- Hàm hữu ích trong SQL
- Hàm xử lý Date và Time trong SQL
- Hàm xử lý số trong SQL
- Hàm xử lý chuỗi trong SQL
- Tài liệu SQL tham khảo
- First Normal Form (1NF) trong SQL
- Second Normal Form (2NF) trong SQL
- Third Normal Form (3NF) trong SQL
- Tuning DB trong SQL
- Tài liệu SQL tham khảo
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-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 | +-----+---------------------+-------------+--------+
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 | +----+----------+--------+---------------------+
Bình luận (0)