Tham gia bên trong lệnh mysql
Lệnh tham gia trợ giúp lấy dữ liệu từ hai hoặc nhiều bảng cơ sở dữ liệu. Các bảng có liên kết với nhau bằng cách sử dụng từ khóa chính và từ khóa ngoài. giúp lấy dữ liệu từ hai hoặc nhiều bảng cơ sở dữ liệu. Các bảng có liên kết với nhau bằng cách sử dụng từ khóa chính và từ khóa ngoài Show Lưu ý. Lệnh Tham gia rất phức tạp khi sử dụng. Để đơn giản và dễ hiểu, chúng ta sẽ sử dụng Cơ sở dữ liệu mới để thực hiện các thao tác mẫu như hình dưới đây Các loại lệnh tham giaLệnh Tham Gia Chéo ( Cross Join )Tham Gia Chéo là một hình thức Tham Gia đơn giản nhất nó khớp với từng hàng từ một bảng cơ sở dữ liệu với tất cả các hàng khác Nói cách khác, nó cung cấp cho chúng ta sự kết hợp của từng hàng của bảng đầu tiên với tất cả các bản ghi trong bảng thứ hai Giả sử chúng ta muốn có tất cả các hồ sơ thành viên đối với tất cả các bộ phim, chúng ta có thể làm như sau SELECT * FROM `movies` CROSS JOIN `members` We are results as after Lệnh tham gia. THAM GIA BÊN TRONGInner Join là lệnh Join được sử dụng để kết hợp các hàng từ cả hai bảng điều kiện thỏa mãn điều kiện đã cho. command Join being used to connect the rows from both two table tableđối với điều kiện đã cho Giả sử, bạn muốn được liệt kê danh sách các thành viên đã thuê phim cùng với các tựa phim được họ thuê. Bạn chỉ có thể sử dụng Inner Join để thực hiện điều đó, kết quả từ cả hai bảng điều kiện thỏa mãn với các điều kiện đã cho SELECT members.`first_name` , members.`last_name` , movies.`title` FROM members ,movies WHERE movies.`id` = members.`movie_id` Xem thêm. Hướng dẫn cách phân biệt SQL và MySQL We are results as after Lưu ý kết quả trên cũng có thể được viết như sau để đạt được kết quả tương tự SELECT A.`first_name` , A.`last_name` , B.`title` FROM `members`AS A INNER JOIN `movies` AS B ON B.`id` = A.`movie_id` ` Lệnh tham gia. tham gia bên ngoàiTham gia bên ngoài là lệnh Tham gia sử dụng cho tất cả kết quả của các bản ghi khớp từ cả hai bảng. lệnh Tham gia sử dụng cho tất cả kết quả của các bản ghi phù hợp từ cả hai bảng Nó có thể phát hiện các bản ghi không có kết quả khớp trong bảng đã tham gia. Nó cho giá trị NULL các bản ghi của bảng đã tham gia nếu không tìm thấy kết quả khớp Lệnh tham gia. Chỗ nối bên tráiGiả sử bây giờ bạn muốn có tiêu đề của tất cả các bộ phim giống với tên của các thành viên đã thuê họ. Chúng ta có thể sử dụng lệnh Tham gia này để thực hiện lệnh Tham gia này để thực hiện Left Join cho kết quả tất cả các hàng từ bảng bên trái ngay cả khi không tìm thấy hàng phù hợp trong bảng bên phải. Trường hợp không tìm thấy kết quả phù hợp trong bảng bên phải, kết quả sẽ là Null SELECT A.`title` , B.`first_name` , B.`last_name` FROM `movies` AS A LEFT JOIN `members` AS B ON B.`movie_id` = A.`id` Chạy đoạn mã, bạn có thể thấy rằng trong kết quả trả về được liệt kê bên dưới đối với phim không được thuê của các trường tên thành viên đang có giá trị NULL. Điều đó có nghĩa là không có thành viên thuê bộ phim đó Lệnh tham gia. Quyền tham giaRight Join trái ngược với Left Join. Right Join là lệnh Join cho tất cả kết quả của các cột từ bảng bên phải ngay cả khi không tìm thấy hàng phù hợp trong bảng bên trái. Trường hợp không tìm thấy kết quả phù hợp trong bảng bên trái, kết quả là Nullệnh Tham gia cho tất cả kết quả của các cột từ bảng bên phải ngay cả khi không tìm thấy hàng phù hợp trong bảng bên trái. Trường hợp không tìm thấy kết quả phù hợp trong bảng bên trái, kết quả là Null Ví dụ của chúng ta, giả sử rằng bạn cần lấy tên của các thành viên và phim do họ thuê. Bây giờ chúng ta có một vài thành viên mới chưa thuê bất kỳ bộ phim nào SELECT A.`first_name` , A.`last_name`, B.`title` FROM `members` AS A RIGHT JOIN `movies` AS B ON B.`id` = A.`movie_id` Xem thêm. Tìm hiểu về mệnh đề GROUP BY và HAVING trong MySQL Run script on result as after Mệnh đề “Bật” và “Sử dụng”Trong các ví dụ kết quả truy vấn với lệnh tham gia ở trên, chúng ta sử dụng mệnh đề “BẬT” để khớp với các bản ghi giữa các bảng. lệnh tham gia ở trên, chúng ta sử dụng mệnh đề “ON” để khớp với các bản ghi giữa các bảng Mệnh đề “Sử dụng” cũng có thể được sử dụng cho cùng một mục đích. Sự khác biệt là nó phải có tên giống nhau giữa các cột trong cả hai bảng Trong bảng “phim” cho đến nay, chúng tôi đã sử dụng từ khóa chính của nó với tên “id”. Chúng tôi đã đề cập đến cùng trong bảng "thành viên" với tên "movie_id" Vui lòng đổi tên trường “movie” kết hợp với “id” để có tên “movie_id”. We doing as after ALTER TABLE `movies` CHANGE `id` `movie_id` INT( 11 ) NOT NULL AUTO_INCREMENT; Tiếp theo, hãy sử dụng Sử dụng với ví dụ Còn lại Tham gia ở trên SELECT A.`title` , B.`first_name` , B.`last_name` FROM `movies` AS A LEFT JOIN `members` AS B USING ( `movie_id` Ngoài việc sử dụng “Bật” và”Sử dụng” để kết hợp với Tham gia bạn có thể sử dụng nhiều mệnh đề MySQL khác nhau như GROUP BY, WHERE và thậm chí cả các chức năng như SUM , AVG , v. v Tại sao chúng ta nên sử dụng lệnh Tham gia?Bạn có thể hiểu tại sao chúng ta sử dụng “Tham gia” khi chúng ta thực hiện cùng một nhiệm vụ chạy truy vấn rồi chứ. Đặc biệt nếu bạn có một số kinh nghiệm về lập trình cơ sở dữ liệu, bạn có thể chạy từng truy vấn một, sử dụng kết quả của từng truy vấn liên tiếp. Nhưng bằng cách sử dụng “Tham gia”, bạn có thể hoàn thành công việc chỉ bằng cách sử dụng một truy vấn với bất kỳ tham số tìm kiếm nào. Mặt khác, MySQL có thể đạt được hiệu quả tốt hơn. Chỉ cần sử dụng truy vấn duy nhất thay vì chạy nhiều truy vấn điều đó giúp chúng ta giảm được chi phí. Thay vào đó, sử dụng nhiều truy vấn sẽ dẫn đến việc chuyển nhiều dữ liệu hơn giữa MySQL và các ứng dụng (phần mềm). Hơn nữa, nó đòi hỏi nhiều thao tác dữ liệu hơn trong ứng dụng Rõ ràng là chúng ta có thể đạt được hiệu quả của ứng dụng và MySQL tốt hơn bằng cách sử dụng Lệnh Tham gia. Lệnh tham gia Kết luận
Tổng kếtHy vọng rằng, qua bài viết trên, bạn đã có cái nhìn sâu và rõ hơn về lệnh Join và cách sử dụng các kiểu lệnh Join trong MySQL. Để học bài viết về MySQL, hãy đăng ký ngay từ khóa học MySQL cùng Gitiho nhé. lệnh Join và cách sử dụng các kiểu lệnh Join trong MySQL. Để học bài viết về MySQL, hãy đăng ký ngay từ khóa học MySQL cùng Gitiho nhé |