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

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

Tham gia bên trong lệnh mysql

Xem thêm. Hướng dẫn tìm hiểu về NULL và NOT NULL trong MySQL

Các loại lệnh tham gia

Lệ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 TRONG

Inner 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ài

Tham 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ái

Giả 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 gia

Right 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

  • Lệnh Tham gia cho phép tôi kết hợp dữ liệu từ nhiều hơn một bảng vào một kết quả tập tin
  • “Tham gia” có hiệu lực tốt hơn so với truy vấn con
  • Inner Join chỉ trả về các hàng đáp ứng các tiêu chí nhất định
  • Tham gia bên ngoài có thể trả về các hàng mà không tìm thấy kết quả phù hợp. Các hàng không được trả về với kết quả là NULL
  • Các loại lệnh Tham gia bao gồm  Inner, Left, Outer, Right Outer, Cross JOin
  • Mệnh đề thường được sử dụng trong các hoạt động của lệnh Tham gia là “Bật” và mệnh đề “Sử dụng” yêu cầu các cột khớp phải cùng tên. mệnh lệnh Tham gia là “Bật” và mệnh đề “Sử dụng” yêu cầu các cột khớp phải cùng tên
  • “Tham gia” cũng có thể được sử dụng trong các mệnh đề khác, chẳng hạn như NHÓM THEO, Ở ĐÂU, CÂU HỎI PHỤ, CHỨC NĂNG TỔNG HỢP

Tổng kết

Hy 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é