Muốn truy vấn các cột dữ liệu từ nhiều bảng khác nhau để trả về trong cùng một tập kết quả, bạn cần dùng Join. Để hiểu rõ hơn về câu lệnh này, bạn có thể tham khảo bài viết hướng dẫn của FUNiX về cách sử dụng câu lệnh truy vấn dữ liệu từ nhiều bảng.\>> Khóa học lập trình cơ bản Show
\>> Kỹ thuật lập trình PHP Muốn truy vấn các cột dữ liệu từ nhiều bảng khác nhau để trả về trong cùng một tập kết quả, bạn cần dùng Join. 1. Bạn biết gì về câu lệnh truy vấn dữ liệu từ nhiều bảng?Thao tác trích xuất thông tin được lưu trữ trong các table được gọi là truy vấn dữ liệu trong SQL. Thông tin được truy xuất thông qua các cột và nó có thể thuộc một hoặc nhiều bảng. Được biết, Join là phép kết nối dữ liệu từ nhiều bảng lại với nhau (nối 2 bảng, 3 bảng.. với nhau). Khi bạn cần truy vấn các cột dữ liệu từ nhiều bảng khác nhau để trả về trong cùng một tập kết quả, bạn cần dùng Join. Theo đó, hai bảng kết nối được với nhau khi có 1 trường chung giữa 2 bảng này. Câu lệnh truy vấn dữ liệu từ nhiều bảng.\>>> Xem thêm: SQL Series 5- Bài tập thực hành tạo cơ sở dữ liệu và các bảng 2. Cách sử dụng các câu lệnh truy vấn dữ liệu nhiều bảng trong SQLCác câu lệnh từ nhiều bảng trong SQL có thể kể đến như: Inner join, Outer join, Self join, Union, Except, Intersection. Dưới đây là cách sử dụng từ nhiều bảng: 2.1 Cách sử dụng inner joinCâu lệnh Inner Join trong SQL thường được sử dụng phổ biến hiện nay. Đây là mệnh đề truy vấn với kết quả trả về là tập hợp các dữ liệu thỏa mãn điều kiện chung từ hai bảng. Truy vấn này sẽ so sánh mỗi hàng trong bang1 với mỗi hàng trong bang2 để tìm ra các cặp hàng thỏa mãn điều kiện. Câu lệnh Inner Join trong SQLCú pháp cơ bản của Inner Join trong SQL như sau: SELECT cot1, cot2,… cotn FROM bang1 INNER JOIN bang2 ON bang1.cot_chung = bang2.cot_chung; 2.2 Cách sử dụng câu lệnh truy vấn dữ liệu từ nhiều bảng outer joinCâu lệnh Outer Join bao gồm Left Join, Right Join ᴠà Full Join. 2.2.1 Câu lệnh Left JoinKiểu kết nối này trả về các hàng nằm ở bảng bên trái trong điều kiện ON và chỉ lấy ở các bảng còn lại những hàng đáp ứng được điều kiện đặt ra Cú pháp Left Join: SELECT cot FROM bang1 LEFT [OUTER] JOIN bang2 ON bang1.cot = bang2.cot; 2.2.2 Câu lệnh Right JoinKiểu kết nối này trả về các hàng nằm ở bảng bên phải trong điều kiện ON và chỉ lấy ở các bảng còn lại những hàng đáp ứng được điều kiện đặt ra Cú pháp Right Join trong SQL: SELECT cot FROM bang1 RIGHT [OUTER] JOIN bang2 ON bang1.cot = bang2.cot; 2.2.3 Câu lệnh Full JoinKiểu kết nối này trả về tất cả các hàng nằm ở bảng trái và phải và giá trị NULL đặt ở những nơi không đáp ứng được điều kiện. Cú pháp Full Join trong SQL: SELECT cot FROM bang1 FULL [OUTER] JOIN bang2 ON bang1.cot = bang2.cot; Câu lệnh Outer Join bao gồm Left Join, Right Join ᴠà Full Join.\>>> Xem thêm: SQL Series 3- Ý nghĩa các từ khóa trong SQL 2.3 Cách sử dụng câu lệnh truy vấn dữ liệu từ nhiều bảng union, except, intersectionTừ nhiều bảng với mệnh đề Union trong SQL được sử dụng để kết hợp các kết quả của hai hoặc nhiều câu lệnh SELECT, mà không cần trả về bất kỳ hàng trùng lặp nào. Để sử dụng mệnh đề UNION này, mỗi câu lệnh SELECT cần phải có:
Cú pháp của mệnh đề UNION trong SQL như sau: SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] UNIONSELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] Ngoài ra, còn có hai mệnh đề khác (các toán tử), cũng giống như mệnh đề UNION đó là Except và Intersection. Cụ thể:
Như vậy, bài viết trên đây FUNiX vừa hướng dẫn bạn cách sử dụng các câu lệnh truy vấn dữ liệu từ nhiều bảng (inner join, outer join, self join, union, except, intersection) trong SQL. Để áp dụng hiệu quả vào công việc, bạn cần tìm hiểu sâu hơn về kiến thức kết hợp với thực hành. Chúc bạn sớm thành công! |