CÂU LỆNH JOIN TRONG SQL
Bài này sofaxuong.vn share cho ace vềmọi sản phẩm về JOIN với SELECT vào SQL để mang ra dữ liệu theo ý muốn của mình. Những loại join: (INNER) JOIN, LEFT (OUTER) JOIN, RIGHT (OUTER) JOIN, FULL (OUTER) JOIN, SELF JOIN.
Bạn đang xem: Câu lệnh join trong sql




Sau đây bọn họ sẽ kiếm tìm hiểu cụ thể về từng loại join.
Lưu ý: chúng ta tham khảo bài giới thiệu này để lấy dữ liệu mẫu và chạy các ví dụ của toàn bộ series này nha. khi bạn thực hành mà không kiếm thấy công dụng và không xẩy ra lỗi thì hoàn toàn có thể dữ liệu của chúng ta không tồn tại, do vậy, bạn có thể insert thêm data vào bảng và thực hành lại nha.
1. JOIN vào là gì?
Mệnh đề JOIN được thực hiện để phối hợp các hàng từ nhì hoặc những bảng, dựa vào một cột có tương quan giữa chúng.
Lưu ý rằng cột “CustomerID” trong bảng “Orders” tham chiếu mang đến “CustomerID” vào bảng “Customers”. Mối quan hệ giữa nhị bảng trên là cột “CustomerID”.
Về những bảng này các bạn nên xem thêm bài đầu trong file sql nhằm xem kết cấu của nó.
Sau đó, chúng ta có thể tạo câu lệnh SQL sau (có đựng INNER JOIN), lựa chọn các bản ghi có mức giá trị cân xứng trong cả nhì bảng:
/*sofaxuong.vn - Kênh thông tin IT hàng đầu Việt Nam
2. Sự khác biệt của các loại JOIN
Dưới đây là các kiểu khác biệt của những JOIN vào SQL: (INNER) JOIN: Trả về những dữ liệu có giá trị cân xứng trong cả nhị bảng JOIN LEFT (OUTER): Trả về tất cả các tài liệu từ bảng phía bên trái và các dữ liệu vẫn khớp từ bảng bên bắt buộc RIGHT (OUTER) JOIN: Trả về toàn bộ các dữ liệu từ bảng bên bắt buộc và những dữ liệu phù hợp từ bảng phía trái FULL (OUTER) JOIN: Trả về toàn bộ các dữ liệu khi tất cả sự trùng khớp trong bảng phía bên trái hoặc mặt phải3. INNER JOIN trong SQL
Từ khóa INNER JOIN chọn các dữ liệu có giá trị cân xứng trong cả nhị bảng.

Ví dụ:Câu lệnh SQL sau chọn toàn bộ các deals có thông tin khách hàng:
Về các bảng này chúng ta nên tìm hiểu thêm bài đầu nhằm xem cấu trúc của nó.
SELECT Orders.OrderID, Customers.CustomerNameFROM OrdersINNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID; giữ ý: trường đoản cú khóa INNER JOIN chọn toàn bộ các hàng từ cả nhì bảng miễn là tất cả sự trùng khớp giữa những cột. Giả dụ có tài liệu trong bảng “Orders” không phù hợp trong “Customers”, số đông đơn đặt hàng này sẽ không còn được hiển thị!
Join 3 bảng
Câu lệnh SQL sau chọn toàn bộ các đơn mua hàng có thông tin về quý khách hàng và tín đồ giao hàng:
/*sofaxuong.vn - Kênh thông tin IT hàng đầu Việt Nam
4. LEFT JOIN vào SQL
Từ khóa LEFT JOIN trả về tất cả các tài liệu từ bảng phía trái (table1) và những dữ liệu được so khớp tự bảng bên yêu cầu (table2). Hiệu quả là NULL từ bỏ phía bên phải, nếu không có kết quả phù hợp.Cú pháp
SELECT column_name(s)FROM table1LEFT JOIN table2ON table1.column_name = table2.column_name;Lưu ý: Trong một vài cơ sở dữ liệu, LEFT JOIN được điện thoại tư vấn là LEFT OUTER JOIN.
Về những bảng này bạn nên tham khảo bài đầu để xem cấu trúc của nó.
Câu lệnh SQL sau sẽ lựa chọn tất cả người sử dụng và bất kỳ đơn hàng nào mà lại họ hoàn toàn có thể có:
SELECT Customers.CustomerName, Orders.OrderIDFROM CustomersLEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerIDORDER BY Customers.CustomerName;Lưu ý: trường đoản cú khóa LEFT JOIN trả về toàn bộ các dữ liệu từ bảng bên trái (Khách hàng), trong cả khi không có dữ liệu nào tương xứng trong bảng bên đề nghị (Đơn hàng).
Xem thêm: Cách Xử Lý Số Liệu Biểu Đồ Tròn (Địa Lý), Cách Tính Cơ Cấu (%) Để Vẽ Biểu Đồ Tròn Và Miền
5. RIGHT JOIN trong SQL
Từ khóa RIGHT JOIN trả về toàn bộ các tài liệu từ bảng bên nên (table2) và các dữ liệu được so khớp tự bảng bên trái (table1). Công dụng là NULL tự phía bên trái, khi không có tác dụng phù hợp.
Cú pháp
/*sofaxuong.vn - Kênh tin tức IT số 1 Việt Nam
Ví dụ:
Về những bảng này các bạn nên tham khảo bài đầu để xem cấu trúc của nó.
Câu lệnh SQL sau sẽ trả về toàn bộ nhân viên và bất kỳ đơn mặt hàng nào họ có thể đã đặt:SELECT Orders.OrderID, Employees.LastName, Employees.FirstNameFROM OrdersRIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeIDORDER BY Orders.OrderID; giữ ý: từ bỏ khóa RIGHT JOIN trả về toàn bộ các tài liệu từ bảng bên yêu cầu (Nhân viên), trong cả khi không tồn tại dữ liệu nào tương xứng trong bảng phía trái (Đơn hàng).
6. FULL OUTER JOIN trong SQL
Từ khóa FULL OUTER JOIN trả về toàn bộ các tài liệu khi có sự trùng khớp trong các dữ liệu bảng phía bên trái (table1) hoặc bên cần (table2).
Lưu ý: FULL OUTER JOIN có thể trả về tập kết quả rất lớn!
Mẹo: FULL OUTER JOIN và FULL JOIN kiểu như nhau.
Cú pháp
SELECT column_name(s)FROM table1FULL OUTER JOIN table2ON table1.column_name = table2.column_nameWHERE condition;

Ví dụ:
Về những bảng này các bạn nên tìm hiểu thêm bài đầu để xem kết cấu của nó.
Câu lệnh SQL sau lựa chọn tất cả người sử dụng và toàn bộ các solo đặt hàng:SELECT Customers.CustomerName, Orders.OrderIDFROM CustomersFULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerIDORDER BY Customers.CustomerName;Lưu ý: từ bỏ khóa FULL OUTER JOIN trả về tất cả các dữ liệu phù hợp từ cả nhì bảng mặc dù bảng khác tất cả khớp tuyệt không. Bởi vì vậy, nếu có hàng trong “Customers” không phù hợp trong “Orders” hoặc nếu có hàng trong “Orders” không hợp trong “Customers”, các hàng đó cũng biến thành được liệt kê.
7. SELF JOIN vào SQL
Một self JOIN là 1 trong phép nối thông thường, cơ mà bảng được nối với thiết yếu nó.
Cú pháp
SELECT column_name(s)FROM table1 T1, table1 T2WHERE condition;T1 và T2 là những bí danh bảng khác nhau cho và một bảng.
Ví dụ:
Câu lệnh SQL sau cân xứng với quý khách đến từ và một thành phố:
SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.CityFROM Customers A, Customers BWHERE A.CustomerID B.CustomerIDAND A.City = B.CityORDER BY A.City;Lưu ý: các bạn tham khảo bài ra mắt này để lấy dữ liệu mẫu cùng chạy những ví dụ của tổng thể series này nha. khi chúng ta thực hành mà không kiếm thấy kết quả và không xẩy ra lỗi thì có thể dữ liệu của bạn không tồn tại, bởi vậy, chúng ta có thể insert thêm data vào bảng và thực hành thực tế lại nha.
Xem thêm: Toán 6 Phép Chia Phân Số - Giải Toán Lớp 6 Bài 12: Phép Chia Phân Số
Full series tự học SQL từ bỏ cơ bản tới nâng cấp tại đây nha.
Nếu chúng ta thấy hay cùng hữu ích, chúng ta cũng có thể tham gia những kênh sau của sofaxuong.vn để nhận được nhiều hơn nữa: