Bang hộiTiền mặt: 0 Xu Trò chơiHộp quà giáng sinhChủ Nhật, 12:04:56 - 10/11/2024
Chia sẻ kiến thức ngôn ngữ lập trình C, C++, C#, Java, Python, PHP, JS, SQL ...

Các điều hành viên: Mod, SMod, Admin

[SQL] Các loại JOIN trong SQL

[SQL] Các loại JOIN trong SQL

#1 » Gửi bài gửi bởi nghiammo1992 » 11/02/2022 02:05 » @525188

[SQL] Các loại JOIN trong SQL

[SQL] 10 loại kết bảng trong SQL

Team mình vừa tiếp nhận hơn chục bạn sinh viên năm 3 vô thực tập. Sắp tới các bạn sẽ được training về SQL. Ở trường các bạn mới được học có một môn về CSDL nên biết chưa nhiều lắm.
Hỏi thăm các bạn về các loại kết bảng. Các bạn liệt kê ra được INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN và kết luận 4. Ngay sau đó mình nói 9. Chênh nhau hẳn 5 loại. Google tìm ra 7 như hình. Vậy 2 loại còn lại ở đâu. Giờ mình nói thêm.


1) Thứ 8 là CROSS JOIN: kết hai bảng ko sử dụng ON, gần giống FULL JOIN. Dùng khi 2 table không có khoá ngoại với nhau hoặc có nhưng không dùng.
-----------------//-------------------
SELECT *
FROM [TABLE 1]
CROSS JOIN [TABLE 2]
Hoặc
SELECT *
FROM [TABLE 1], [TABLE 2]
--------------------/----------------


2) Thứ 9 là SELF JOIN: khi bảng kết với chính nó. Gần giống CROSS JOIN 2 table nhưng có điều kiện kết không phải là Key.
----------------//------------------
Ví dụ:
SELECT a.ID, b.NAME, a.SALARY
FROM CUSTOMERS a, CUSTOMERS b
WHERE a.SALARY < b.SALARY
Đã đủ 9 loại cho các em sinh viên. :)
FPT Software, 05/07/2016
HaiNTT5
----------------//------------------


3) Bổ sung loại thứ 10:
Hôm nay mình đã vô cùng vui khi phát hiện ra một cách JOIN cực kỳ lạ nhưng lại rất quen thuộc. Đó là JOIN với điều kiện: ON 1 = 1
----------------///------------------
SELECT *
FROM [TABLE 1]
INNER JOIN [TABLE 2] ON 1 = 1
Với câu trên bạn nghĩ nó ra cái gì. He he. Kết quả là nó tương đương với CROSS JOIN (loại thứ :matrix
Thật là thú vị. Mình cười suốt khi nghĩ tới nó. Mình đặt cho nó là loại thứ 10.
----------------///------------------


FPT Software, 19/07/2016
HaiNTT5

Nguồn: SQL Training Blog

[SQL] Các loại JOIN trong SQL
nghiammo1992 ✅
Hình đại diện của thành viên
Rank: ☀️2/30☀️
Cấp độ:
Tu luyện:
Like:
Online:
Bang hội: Tiếu Ngạo
Xếp hạng Bang hội: ⚡5/46⚡
Level:
Chủ đề đã tạo: 🩸4141/4141🩸
Tiền mặt:
Ngân hàng:
Nhóm:
Danh hiệu: ⚝⚝⚝Truyền Thuyết⚝⚝⚝
Giới tính:
Ngày tham gia:
Đến từ:
Thiết bị:
Số điện thoại:
(Google Chrome 100.0.48)


Quay về C, C++, C#, Java, Python, PHP, JS, SQL ...

 


  • Chủ đề tương tự
    Trả lời
    Xem
    Bài viết mới nhất