SQL LEFT JOIN là một kiểu nối SQL. Phép nối này trả về tất cả các bảng từ cột “bên trái” được chỉ định và các hàng tương ứng khớp với một điều kiện cụ thể trong cột “bên phải”.
Trong nhiều trường hợp, khi bạn viết một truy vấn trong SQL , bạn sẽ chỉ cần tập trung vào một bảng duy nhất. Tuy nhiên, có nhiều trường hợp bạn cần truy vấn hai hoặc nhiều bảng cùng một lúc. Trong tình huống này, bạn sẽ muốn tạo một kết quả kết hợp thông tin từ cả hai bảng.
Trong SQL , điều này được gọi là tham gia. Phép nối cho phép bạn lấy thông tin từ nhiều bảng và kết hợp kết quả thành một bảng đã nối. Ví dụ:bạn có thể nối các bảng nhân viên và phòng ban lại với nhau để lấy tên phòng ban cho từng nhân viên.
Trong hướng dẫn này, chúng ta sẽ phân tích một loại phép nối trong SQL :the THAM GIA TRÁI . Chúng ta sẽ thảo luận về nơi THAM GIA TRÁI hữu ích và cách bạn có thể sử dụng chúng trong SQL của mình truy vấn.
THAM GIA TRÁI SQL
SQL LEFT JOIN trả về tất cả các bản ghi từ bảng “bên trái”, được chỉ định trong truy vấn của bạn. Nó khớp các giá trị từ bảng này dựa trên các điều kiện của bạn với một bảng "bên phải". Mọi trận đấu được trả về ngoài tất cả các bản ghi từ bảng “bên trái”. _LEFT JOIN_s là một loại nối ngoài SQL.
Ví dụ:bạn có thể sử dụng phép nối bên trái để lấy danh sách tên bộ phận cho từng nhân viên. Điều này sẽ cho phép bạn nhìn thấy tất cả nhân viên ngay cả khi họ không được phân công bộ phận.
Cú pháp cơ bản cho một LEFT JOIN hoạt động như sau:
CHỌN Table1.Column1, Table2.Column1FROM Table1LEFT JOIN Table2ON Table1.Column2 =Table1.Column2;
Chúng tôi bắt đầu tham gia của chúng tôi với một câu lệnh SQL SELECT. Bảng trong câu lệnh FROM là bảng "bên trái" của chúng ta. Sau đó, chúng tôi sử dụng LEFT JOIN từ khóa. Điều này cho phép chúng tôi chỉ định một bảng "bên phải".
81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.
Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.
Chúng tôi sử dụng câu lệnh ON để xác định điều kiện mà các bảng của chúng tôi được kết nối. THAM GIA TRÁI là một loại kết nối bên ngoài. Do đó, bạn có thể thấy loại liên kết này được gọi là liên kết ngoài bên trái .
Hãy sử dụng một ví dụ để minh họa THAM GIA TRÁI làm việc.
Ví dụ về SQL LEFT JOIN
Giả sử rằng chúng tôi muốn nhận danh sách tên bộ phận nơi mỗi nhân viên làm việc. Chúng tôi muốn lấy thông tin này bằng một truy vấn. Đây là một truy vấn cho phép chúng tôi lấy dữ liệu này:
CHỌN staff.name, staff.title, company_dep domains.name AS DeptNameFROM nhân viênTruy vấn của chúng tôi trả về bảy bản ghi:
name | tiêu đề | tên thẻ |
Luke | Nhân viên bán hàng | Bán hàng |
Mike | Nhân viên bán hàng | Bán hàng |
Hannah | Nhân viên bán hàng | Bán hàng |
Geoff | Nhân viên kinh doanh cấp cao | Bán hàng |
Alexis | Nhân viên bán hàng | Bán hàng |
Emma | Giám đốc Tiếp thị | Tiếp thị |
Jonah | Phó Giám đốc Kinh doanh | Điều hành |
(7 hàng)
Trên dòng đầu tiên của truy vấn, chúng tôi chỉ định rằng chúng tôi muốn lấy ba cột. Chúng tôi truy xuất tên của nhân viên của chúng tôi, chức danh của họ và tên của bộ phận mà họ làm việc. AS DeptName cho truy vấn của chúng tôi biết rằng cột tên bộ phận phải được gọi là DeptName .
Trên dòng tiếp theo, chúng tôi chỉ rõ rằng chúng tôi muốn lấy thông tin từ nhân viên của chúng tôi chiếc bàn. Sau đó, chúng tôi tạo một THAM GIA TRÁI giữa bảng đó và company_dep domains . Cuối cùng, chúng tôi liên kết hai bảng của chúng tôi với nhau bằng cách sử dụng các giá trị chung của chúng:Department_id.
THAM GIA TRÁI chỉ trả về tất cả các hàng từ bảng bên trái và các hàng từ bảng bên phải đáp ứng điều kiện kết hợp.
Nếu chúng tôi có một nhân viên có ID bộ phận là 9 và bộ phận đó không tồn tại, chúng vẫn sẽ xuất hiện trong truy vấn của chúng tôi. Nếu chúng tôi có bộ phận công ty không tồn tại, bộ phận đó sẽ không xuất hiện trong JOIN của chúng tôi truy vấn.
Hãy chạy lại truy vấn, nhưng lần này với một nhân viên mới trong cơ sở dữ liệu của chúng tôi. Đây là những giá trị dành cho nhân viên mới của chúng tôi:
name | tiêu đề | Department_id |
Adam | Nhân viên kinh doanh cấp cao | 9 |
(1 hàng)
ID bộ phận 9 không tồn tại trong bảng company_dep domains của chúng tôi . Nhưng khi chúng tôi chạy cùng một truy vấn kết hợp bên trái như trên, bản ghi của Adam vẫn được bao gồm vì chúng tôi đang sử dụng LEFT JOIN . Đây là kết quả của cùng một INNER JOIN truy vấn chúng tôi đã thực hiện ở trên, nhưng với bản ghi của Adam:
name | tiêu đề | tên thẻ |
Luke | Nhân viên bán hàng | Bán hàng |
Mike | Nhân viên bán hàng | Bán hàng |
Hannah | Nhân viên bán hàng | Bán hàng |
Geoff | Nhân viên kinh doanh cấp cao | Bán hàng |
Alexis | Nhân viên bán hàng | Bán hàng |
Emma | Giám đốc Tiếp thị | Tiếp thị |
Jonah | Phó Giám đốc Kinh doanh | Điều hành |
Adam | Nhân viên kinh doanh cấp cao | |
Kết luận
THAM GIA TRÁI SQL truy vấn nhiều hơn một bảng và trả về tất cả các hàng từ một bảng “bên trái” được chỉ định. Chúng cũng trả về các hàng từ bảng bên phải nơi THAM GIA điều kiện được đáp ứng.
Ví dụ:giả sử bạn muốn trả lại danh sách khách hàng cũng như tên của các gói khách hàng thân thiết mà họ đăng ký. Nếu tên của gói khách hàng thân thiết nằm trong một bảng khác, bạn có thể sử dụng phép nối bên trái để truy xuất chúng.
Chúng tôi đã viết hướng dẫn Cách học SQL để giúp người học nâng cao kiến thức về SQL. Hướng dẫn bao gồm danh sách các tài nguyên học tập hàng đầu và một số lời khuyên của chuyên gia để giúp bạn trên con đường của mình. Xem hướng dẫn trên trang Cách học SQL của chúng tôi.