Xu Hướng 3/2023 # Các Kiểu Của Lệnh Join Trong Mysql: Inner, Outer, Left, Right, Cross # Top 12 View | Channuoithuy.edu.vn

Xu Hướng 3/2023 # Các Kiểu Của Lệnh Join Trong Mysql: Inner, Outer, Left, Right, Cross # Top 12 View

Bạn đang xem bài viết Các Kiểu Của Lệnh Join Trong Mysql: Inner, Outer, Left, Right, Cross được cập nhật mới nhất trên website Channuoithuy.edu.vn. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất.

Lệnh Join (Tham gia) là gì?

Lệnh join 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 khóa chính và khóa ngoài.

Các loại lệnh Join

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`

Chúng ta được kết quả như sau.

INNER JOIN

Inner Join được sử dụng để kết hợp các hàng từ cả hai bảng thỏa mãn điều kiện đã cho.

Giả sử, bạn muốn có được 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 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`

Chúng ta được kết quả như sau

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` `

Outer Join

Outer Join cho tất cả kết quả các bản ghi khớ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.

Left Join

Giả sử bây giờ bạn muốn có được tiêu đề của tất cả các bộ phim cùng với tên của các thành viên đã thuê chúng. Chúng ta có thể sử dụng lệnh Left Join để 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á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 đó

Right Join

Right Join trái ngược với Left Join. Right Join cho tất cả kết quả 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`

chạy script trên cho kết quả như sau.

Mệnh đề “On” và “Using”

Trong các ví dụ kết quả truy vấn với lệnh join ở trên, chúng ta đã sử dụng mệnh đề “ON” để khớp với các bản ghi giữa bảng.

Mệnh đề “Using” cũng có thể được sử dụng cho cùng một mục đích. Sự khác biệt là nó cần phải có tên giống hệt nhau giữa các cột trong cả hai bảng.

Trong bảng “movie” cho đến nay, chúng tôi đã sử dụng khóa chính của nó với tên “id”. Chúng tôi đã đề cập đến cùng trong bảng “members” với tên “movie_id”.

Hãy đổi tên trường “movie” kết hợp với “id” để có tên “movie_id”. Chúng ta làm như sau.

ALTER TABLE `movies` CHANGE `id` `movie_id` INT( 11 ) NOT NULL AUTO_INCREMENT;

Tiếp theo, hãy sử dụng Using với ví dụ Left Join ở 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 “On” và”Using” để kết hợp với Join bạn có thể sử dụng nhiều mệnh đề MySQL khác như GROUP BY, WHERE và thậm chí các chức năng như SUM , AVG , v.v.

Tại sao chúng ta nên sử dụng lệnh Join?

Bạn có thể hiểu tại sao chúng ta sử dụng “Join” khi chúng ta thực hiện cùng một tác 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 “Join”, bạn có thể hoàn thành công việc bằng cách 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 năng 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 sẽ 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 suất ứng dụng và MySQL tốt hơn bằng cách sử dụng Lệnh Join.

Tóm lược

Lệnh Join cho phép chúng tôi kết hợp dữ liệu từ nhiều hơn một bảng vào một tập kết quả.

“Join” có hiệu suất tốt hơn so với các truy vấn con

Inner Join chỉ trả về các hàng đáp ứng các tiêu chí nhất định.

Outer Join có thể trả về các hàng nơi không tìm thấy kết quả khớp. Các hàng ko có được trả về với kết quả là NULL.

Các kiểu của lệnh Join 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 Join là “On” và mệnh đề “Using” yêu cầu các cột khớp phải cùng tên.

“Join” cũng có thể được sử dụng trong các mệnh đề khác, chẳng hạn như GROUP BY, WHERE, SUB QUERIES, AGGREGATE FUNCTIONS 

Đánh giá bài viết này

Các Kiểu Nhà Trong Tiếng Anh

+ Nghĩa: Danh từ “Apartment” được dùng để chỉ một dãy các phòng ở, sinh sống, nằm trên một tầng của một tòa nhà lớn.

+ Sự khác biệt: khi dùng danh từ “apartment”, phần lớn chúng ta nghĩ ngay đến nhà chung cư, hay có một tên gọi khác là “căn hộ”. Hình thức sở hữu nhà này đang trở nên rất phổ biến ở các thành phố lớn.

Ví dụ: I will take buying an apartment into consideration in case I cannot find a suitable house. (Tôi sẽ cân nhắc việc mua một căn hộ phòng khi không thể tìm thấy một ngôi nhà phù hợp).

+ Nghĩa: Danh từ “Flat” được dùng để chỉ một dãy các phòng ở, sinh sống, bao gồm cả nhà bếp. “Flat” nằm trên một tầng của một tòa nhà lớn.

+ Sự khác biệt: “Flat” không có sự phân biệt quá khắt khe so với “Apartment”. Với cùng nghĩa “căn hộ”, danh từ “Flat” thường được dùng với căn hộ có diện tích lớn hơn “Apartment”, thậm chí có thể chiếm trọn một tầng trong một tòa nhà. Cùng với “Apartment”, “Flat” rất thường gặp trong các kiểu nhà trong Tiếng Anh.

+ Sự khác biệt: “Condominium” bao gồm các “Flat”, “Apartment” trong đó. Với nghĩa ấy, danh từ này giúp ta hiểu ngay đến tòa nhà chung cư.

Ví dụ: Living in a condominium is becoming a popular trend among citizens of big cities. (Việc sống trong một chung cư đang trở thành một xu hướng phổ biến trong các cư dân ở những thành phố lớn).

+ Nghĩa: Danh từ “Studio Apartment” được dùng để chỉ căn hộ (Flat hoặc Apartment) có diện tích không lớn. Thông thường, trong căn hộ nhỏ này, phòng khách + phòng ngủ là chung, bên cạnh gian bếp và phòng tắm.

+ Sự khác biệt: diện tích nhỏ hơn nhiều so với “Flat” và “Apartment” với cấu trúc như định nghĩa trên.

Ví dụ: For saving living costs, he has decided to live in a studio apartment. (Nhằm tiết kiệm chi phí sống, anh ấy đã quyết định sống trong một căn hộ nhỏ).

+ Nghĩa: Danh từ “Duplex” được dùng để chỉ một căn nhà được chia làm 2 ngôi nhà tách biệt bằng 1 bức tường chung. Ngoài ra, danh từ này còn chỉ một căn hộ có các phòng nằm trên 2 tầng, mỗi phòng là một căn hộ.

+ Sự khác biệt: Dễ thấy nhất là 2 căn nhà nhỏ tách biệt rõ ràng trong cùng 1 tòa nhà lớn. Loại nhà này thường thấy trong các gia đình đông thành viên, nhiều thế hệ.

+ Sự khác biệt: Vị trí ở trên cùng của tòa nhà cao tầng. Bạn có thể hình dung “Penthouse” xuất hiện trong các bộ phim có những tòa nhà cao tầng, chọc trời và bao quanh bởi kính. Việc nhìn thông suốt ra quang cảnh ngoài trời là một lợi thế trong thiết kế của “Penthouse”.

Ví dụ: Because my family is living in a penthouse, I would prefer to do sightseeing every morning. (Bởi vì gia đình tôi sống trong một nhà trong nhà cao tầng, tôi thích việc ngắm cảnh mỗi sáng).

Nghĩa và Sự khác biệt: Danh từ “Bungalow” chỉ một căn nhà chỉ có một tầng duy nhất (ta thường gọi là tầng trệt). Ngoài ra “bungalow” không có tầng nào khác.

Ngoài ra, ta thường gặp danh từ “Home”. “Home” cũng có nghĩa là “nhà”, tuy nhiên ưu tiên sử dụng với ý nghĩa mang tính tinh thần. “Home” thường được dùng khi bạn ở cùng với gia đình bạn, không kể những người ít thân thuộc, ngoài gia đình.

Nghĩa và Sự khác biệt: “Safe House” nhằm chỉ ngôi nhà nơi một người lẩn tránh khỏi sự truy đuổi của tội phạm hoặc kẻ thù.

Ví dụ: In order to prevent the local citizens from the dangerous criminals, the police let them be in a safe house. (Để ngăn cư dân địa phương tránh các tên tội phạm nguy hiểm, cảnh sát đã để họ ở trong một căn nhà trú ẩn).

Nghĩa và Sự khác biệt: Khi bạn muốn mua một căn nhà mới nhưng chưa biết nội thất bên trong thế nào thì nhà mẫu sẽ giúp bạn điều ấy. Theo đó, bạn dễ dàng hình dung trực tiếp căn nhà này khi có nội thất sẽ ra sao nhằm quyết định việc mua hay không.

Ví dụ: He possesses a villa, he must be a rich person. (Anh ấy sở hữu một căn biệt thự, anh ấy chắc hẳn là một người giàu có).

Sự khác biệt: Với “Cottage”, ngôi nhà đơn giản là nhỏ, thường lợp mái tranh. “Cottage” xuất hiện thường thấy ở miền quê.

Ví dụ: As for many students who are living far away from their hometown, dormitories are really useful for their life and study. (Đối với nhiều sinh viên sống xa nhà, các ký túc xá thật sự hữu ích cho cuộc sống và việc học).

Danh từ “Bedsit” nhắc đến một phòng nơi mà ai đó thuê để sống và ngủ trong đấy. Với nghĩa ấy, “Bedsit” có thể hiểu là phòng trọ, kiểu nhà khá phổ biến hiện nay cho người làm việc và sống xa quê.

Sự khác biệt: khác với “Villa”, “Mansion” đặc biệt ở diện tích cực kỳ lớn. Ngoài ngôi nhà nguy nga, sang trọng, “Mansion”còn bao gồm rất nhiều đất đai, khuôn viên rộng lớn.

Các Hàm Cơ Bản Excel, Hàm Thông Dụng Trong Excel, Sum, Count, If, Left

Microsoft đã tạo ra phần mềm văn phòng Excel cùng với các hàm tính toán đưa đến nhiều tiện lợi cho người dùng. Các bạn khi sử dụng Excel cũng cần nằm rõ một số hàm cơ bản để phục vụ công việc của mình mà không mất quá nhiều thời gian thống kê và tính toán. Taimienphi sẽ hướng dẫn các bạn một số các hàm cơ bản trong excel và ví dụ minh họa để các bạn học excel tiện theo dõi.

Các hàm cơ bản trong Excel 2016, 2013, 2010, 2007

Hàm cơ bản trong Excel và ví dụ

1. Hàm tính tổng SUM: Hàm cộng giá trị các ô

Hàm SUM là một trong các hàm cơ bản trong excel cho phép bạn cộng tổng giá trị trong các ô được chọn.Cú pháp: =SUM(Number1, Number2..)Ví dụ: Các bạn cần tính tổng điểm 3 môn của một bạn nam trong lớp.

2. Hàm điều kiện IF

3. Hàm lấy ký tự bên trái (LEFT)

Hàm LEFT là hàm lấy chuỗi giá trị bên trái của một chuỗi ký tự, bạn có thể lấy 2 3 hay nhiều ký tự trong ký tự đó.Cú pháp: =LEFT(text, n)Trong đó: – text: Chuỗi ký tự. – n: Số ký tự cần cắt ra từ chuỗi ký tự. (giá trị mặc định là 1).Ví dụ: Bạn muốn lấy 2 ký tự đầu trong họ tên của Học sinh, bạn sử dụng hàm left cú pháp như sau: =LEFT(B5,2) Kết quả sẽ trả về 2 ký tự đầu chính xác như hình dưới

4. Lấy ký tự bên phải (RIGHT)

Trái ngược với Hàm LEFT, hàm RIGHT giúp bạn lấy chuối giá trị bên phải của chuỗi ký tự, và bạn hoàn toàn có thể lấy nhiều hơn 1 ký tự trong số chuỗi ký tự đóCú pháp: =RIGHT(text, n)– Trong đó: – Text: chuỗi ký tự. – n: Số ký tự cần cắt ra từ chuỗi ký tự. (giá trị mặc định là 1)Ví dụ: Bạn muốn lấy 2 ký tự bên phải trong họ tên của Học sinh, bạn dùng cú pháp như sau: =RIGHT(B5,2) Kết quả sẽ trả về 2 ký tự đầu chính xác như hình dưới

5. Hàm MIN: Hàm tìm giá trị nhỏ nhất

Hàm MIN có chức năng tìm giá trị nhỏ nhất trong các ô hoặc vùng được chọnCú pháp: =MIN(Vùng chứa dữ liệu kiểu số)Ví dụ: Tìm điểm trung bình thấp nhất của các học sinh trong lớp

6. Hàm MAX: Hàm tìm giá trị lớn nhất

Hàm MAX có chức năng tìm giá trị lớn nhất trong các ô hoặc vùng được chọnCú pháp: =MAX(Vùng chứa dữ liệu kiểu số)Ví dụ: Tìm tổng điểm cao nhất của các học sinh trong lớp

7. Hàm tính giá trị trung bình AVERAGE

Hàm AVERAGE là một trong các hàm cơ bản trong excel cho phép bạn tính giá trị trung bình của các ô hoặc các vùng được chọn. Sử dụng hàm AVERAGE bạn sẽ thực hiện phép tính đơn giản hơnCú pháp: =AVERAGE(Number1, Number2..)Ví dụ: Các bạn cần tính điểm trung bình của một bạn trong lớp

8. Hàm cắt các khoảng trống TRIM

Hàm TRIM là hàm loại bỏ khoảng trống giữa các ký tự trong chuỗi ký tự và chỉ để lại duy nhất một khoảng trống (bằng 1 dấu cách giữa các tư) mà thôi. Với nhiều ô chứa chuỗi ký tự có nhiều khoảng trống thì hàm TRIM thật sự là hữu íchCú pháp: =TRIM(text)Trong đó: Text là đoan văn bản chứa khoảng trắng cần loại bỏ là 1Ví dụ: Trong cột Họ tên, hiện tại có rất nhiều khoảng trống, để loại bỏ các khoảng trống này, bạn dùng cú pháp =TRIM(B5). Kết quả sẽ được như hình dưới

9. Hàm nối chuỗi CONCATENATE

Hàm CONCATENATE là hàm nối chuỗi ký tự trong bảng tính excel, sử dụng hàm CONCATENATE, bạn sẽ không phải thủ công ghép các chuỗi từ lại với nhau.

Cú pháp: =CONCATENATE (text 1, text 2, …)Trong đó: Text 1: là chuỗi thứ 1 (đây là chuỗi bắt buộc)Text 2 …: tùy chọn, tối đa 255 chuỗi, và các chuỗi phải được phân tách nhau bởi dấu phẩy

Ví dụ: Bạn muốn ghi chú xem sinh viên có tổng điểm bao nhiêu. Bạn dùng cú pháp =CONCATENATE(B5,” có tổng điểm là “,G5). Sau đó xem kết quả, bạn dùng chuột trỏ vào I5 và kéo xuống dưới, các kết quả sẽ tự động được ghi ra

10. Hàm COUNT: Hàm đếm dữ liệu kiểu số

Hàm COUNT là hàm excel cơ bản có chức năng đếm dữ liệu. Sử dụng hàm Count, bạn sẽ đếm được số dữ liệu kiểu số trong bảng tính excelCú pháp: =COUNT(Vùng chứa dữ liệu cần đếm)

11. Hàm COUNTA: Hàm đếm các ô có chứa dữ liệu

Hàm COUNTA có chức năng đếm các ô có chứa dữ liệu

Cú pháp: =COUNTA(Vùng chứa dữ liệu cần đếm)

12. Hàm đếm chiều dài chuỗi ký tự

Hàm LEN, hàm đếm chiều dài chuỗi ký tự có tác dụng cho bạn biết. hàm LEN sẽ trả về giá trị là độ dài của chuỗi ký tự, kể cả ký tự khoảng trống trắngCú pháp: =LEN (text)Trong đó: Text: là chuỗi ký tựVí dụ: Nếu bạn muốn đếm số ký tự có trong ô B1. Bạn dùng cú pháp =LEN(B5). Kết quả sẽ có như hình. Để đếm các ô tiếp theo, bạn chỉ cần giữ chuột tại I5 và kéo xuống dưới

13. Hàm hiển thị thời gian hiện tại trên hệ thống NOW

Hàm NOW hàm trả về ngày tháng hiện tại trên hệ thốngCú pháp: =NOW ()Ví dụ:

14. Hàm SUMIF: Hàm tính tổng các ô có điều kiện

Hàm SUMIF là hàm cơ bản trong excel cho phép bạn tính tổng các ô hoặc các vùng có giá trị thỏa mãn điều kiện được đặt ra.Cú pháp: =SUMIF(Range, Criteria, Sum_range) Range:Các ô chứa điều kiện Criteria: Điều kiện Sum_range: Các ô cần tính tổngVí dụ: Các bạn cần tính tổng điểm toán của các bạn Nam trong danh sách điểm

15. Hàm COUNTIF: Hàm đếm dữ liệu có điều kiện

Hàm COUNTIF có chức năng đếm các ô thỏa mãn điều kiệnCú pháp: =COUNTIF(Vùng chứa dữ liệu cần đếm, điều kiện)Ví dụ: Các bạn cần đếm các ô thỏa mãn giá trị = 6 trong cột điểm Văn

16. Hàm COUNTBLANK: Hàm đếm dữ liệu rỗng

Hàm COUNTBLANK là hàm excel cơ bản có chức năng đếm số các ô không có giá trịCú pháp: =COUNTBLANK(Vùng chứa dữ liệu cần đếm)

Khi làm việc với Excel, bạn cần nắm rõ các hàm cơ bản trong Excel để có thể sử dụng Excel hiệu quả nhất và nhanh chóng. Các hàm Excel thường dùng trong trong văn phòng cơ bản như Sum, Min, Max … hỗ trợ rất nhiều trong học tập, công việc của bạn.

https://thuthuat.taimienphi.vn/ham-co-ban-trong-excel-13238n.aspx Ngoài các hàm cơ bản trong Excel, bạn đọc cũng nên tham khảo các hàm nâng cao như VLOOKUP, CHOOSE … để nâng cao kiến thức của mình, các hàm nâng cao trong excel được áp dụng để làm nhanh hơn nữa các phép toán trên bảng tính Excel.

Phân Biệt Và Cách Sử Dụng Các Loại Join Trong Mssql Server – Hainh’S Blog

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ả thì JOIN là phép kết nối dữ liệu từ nhiều bảng lại với nhau ( bao gồm cả các view, sub query).

Với 2 bảng dữ liệu trên có liên kết thông qua cột MaHV, vậy làm thế nào chúng ta lấy ra được danh sách điểm thi có các cột môn học, họ tên học viên, mã lớp và điểm số cùng lúc? Khi đó chúng ta cần liên kết hay là JOIN các bảng dữ liệu lại với nhau và chỉ định ra các trường dữ liệu cần lấy.

SQL Server cung cấp các kiểu JOIN là INNER JOIN, OUTER JOIN, và CROSS JOIN.

1. INNER JOIN (viết tắt: JOIN)

Kết quả từ Inner join trong SQL là tập hợp dữ liệu trong đó giá trị dùng để join hai table với nhau đều có ở cả hai bảng, nghĩa là kết quả là GIAO của hai tập hợp dữ liệu.Các bản ghi chỉ xuất hiện ở một trong hai bảng sẽ bị loại.

Câu truy vấn như sau:

SELECT A.MonHoc,A.MaHV,B.HoTen,B.MaLop,A.DiemSo FROM DIEM_THI A INNER JOIN HOC_VIEN B ON chúng tôi = B.MaHV -- Hoặc có thể viết tắt -- SELECT A.MonHoc,A.MaHV,B.HoTen,B.MaLop,A.DiemSo FROM DIEM_THI A JOIN HOC_VIEN B ON chúng tôi = B.MaHV

Kết quả như chúng ta thấy với 6 bản ghi trên thì các giá trị MaHV đều có trong cả 2 bảng HOC_VIEN và DIEM_THI

2. OUTER JOIN trong SQL Server

Lấy về các bản ghi có mặt trong cả hai bảng và cả các bản ghi chỉ xuất hiện ở một trong hai bảng. Kiểu JOIN này được chia làm mấy loại sau:

2.1. LEFT OUTER JOIN (viết tắt: LEFT JOIN)

Lấy toàn bộ các dòng dữ liệu ở table bên trái và với những dòng dữ liệu tương ứng ở bảng bên phải CÓ giá trị MaHV ở bảng bên trái, nếu không có dữ liệu tương ứng bảng bên phải sẽ trả về kết quả null

Câu truy vấn như sau:

SELECT A.MonHoc,A.MaHV,B.HoTen,B.MaLop,A.DiemSo FROM DIEM_THI A LEFT OUTER JOIN HOC_VIEN B ON chúng tôi = B.MaHV -- Hoặc có thể viết tắt -- SELECT A.MonHoc,A.MaHV,B.HoTen,B.MaLop,A.DiemSo FROM DIEM_THI A LEFT JOIN HOC_VIEN B ON chúng tôi = B.MaHV

Kết quả như chúng ta thấy, tất cả các dòng ở bảng DIEM_THI đã được liệt kê ra, một số dòng có cột HoTen và MaLop là null là do nguyên nhân MaHV có ở bảng DIEM_THI nhưng không có ở bảng HOC_VIEN

2.2. RIGHT OUTER JOIN (viết tắt: RIGHT JOIN)

Ngược lại so với LEFT JOIN, lấy toàn bộ các dòng dữ liệu ở table bên phải và với những dòng dữ liệu tương ứng ở bảng bên trái CÓ giá trị MaHV ở bảng bên phải, nếu không có dữ liệu tương ứng bảng bên trái sẽ trả về kết quả null

Câu truy vấn như sau:

SELECT A.MonHoc,A.MaHV,B.MaHV MaHV2,B.HoTen,B.MaLop,A.DiemSo FROM DIEM_THI A RIGHT OUTER JOIN HOC_VIEN B ON chúng tôi = B.MaHV -- Hoặc có thể viết tắt -- SELECT A.MonHoc,A.MaHV,B.MaHV MaHV2,B.HoTen,B.MaLop,A.DiemSo FROM DIEM_THI A RIGHT JOIN HOC_VIEN B ON chúng tôi = B.MaHV

2.3. FULL OUTER JOIN (viết tắt: FULL JOIN)

Kết quả gồm tất cả các bản ghi của cả hai bảng. Với các bản ghi chỉ xuất hiện trong một bảng thì các cột dữ liệu từ bảng kia được điền giá trị NULL.

Câu truy vấn như sau:

SELECT A.MonHoc,A.MaHV,B.MaHV MaHV2,B.HoTen,B.MaLop,A.DiemSo FROM DIEM_THI A FULL OUTER JOIN HOC_VIEN B ON chúng tôi = B.MaHV -- Hoặc có thể viết tắt -- SELECT A.MonHoc,A.MaHV,B.MaHV MaHV2,B.HoTen,B.MaLop,A.DiemSo FROM DIEM_THI A FULL JOIN HOC_VIEN B ON chúng tôi = B.MaHV

Nhìn kết quả kia thì chúng ta có thể thấy kết quả là bao gồm là những dòng kết quả của LEFT JOIN và RIGHT JOIN kết hợp với nhau, không bao gồm các dòng trùng lặp. Trên kia, những dòng HoTen là null là do MaHV ở bảng DIEM_THI nhưng không có ở bảng HOC_VIEN và những dòng MonHoc,DiemSo là null nguyên nhân do MaHV có ở bảng HOC_VIEN mà không có ở bảng DIEM_THI.

3. CROSS JOIN

CROSS JOIN trong SQL ít được sử dụng hơn so với các loại JOIN ở trên do tính ít ý nghĩa của nó, kết quả trả về của CROSS JOIN là lấy số dòng của bảng bên trái x số dòng của bảng bên phải. Ví dụ bảng DIEM_THI có 12 dòng, bảng HOC_VIEN có 12 dòng, kết quả trả về là 12×12 = 144 dòng. Dữ liệu được nhân lên do cứ tương ứng với 1 dòng trong DIEM_THI thì sẽ nối với toàn bộ 12 dòng trong HOC_VIEN mà không cần quan tâm đến tiêu chí so sánh nào (không có mệnh đề ON t1.ColumnA = t2.ColumnB như các kiểu JOIN khác).

Câu lệnh truy vấn như sau:

SELECT A.MonHoc,A.MaHV,B.HoTen,B.MaLop,A.DiemSo FROM DIEM_THI A CROSS JOIN HOC_VIEN B

KẾT BÀI

Chúng ta đã tìm hiểu về các loại JOIN trong SQL Server, chúng được sử dụng thường xuyên trong truy vấn dữ liệu và nhiều xử lý khác. Cho nên bạn cần thực hành cẩn thận và nắm thật rõ cách sử dụng các loại Join để khi làm việc với SQL Server được nhuần nhuyễn và hiệu quả hơn.

4.8

5

votes

Article Rating

Cập nhật thông tin chi tiết về Các Kiểu Của Lệnh Join Trong Mysql: Inner, Outer, Left, Right, Cross trên website Channuoithuy.edu.vn. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Chúc bạn một ngày tốt lành!