Truy vấn nhiều bảng trong sql nâng cao (phần 1), câu lệnh inner join 3 bảng trong sql

     

Dẫn nhập

Trong bài trước, Kteam sẽ hướng dẫn bạn về like và những cách truy vấn vấn TÌM KIẾM GẦN ĐÚNG trong SQL. Tiếp theo, chúng ta sẽ ban đầu tìm phát âm về JOIN, cụ thể trong bài này là INNER JOIN.

Bạn đang xem: Truy vấn nhiều bảng trong sql nâng cao (phần 1), câu lệnh inner join 3 bảng trong sql

Nội dung chính

Để theo dõi tốt nhất bài này, bạn nên có kỹ năng về:

Trong bài xích này, chúng ta sẽ thuộc nhau khám phá một số vấn đề sau:

Database chủng loại Inner Join là gì? Inner Join 2 table trong SQL. Inner Join những table vào SQL. Inner Join phối kết hợp điều kiện.

Database mẫu

Để thao tác giỏi với bài này, chúng ta sử dụng database jdomain.vn sau:

Inner Join là gì?

INNER JOIN là mệnh đề truy nã vấn với tác dụng trả về là tập hợp những dữ liệu thỏa mãn điều kiện phổ biến từ 2 hay các Table.

Điều kiện chung thường dựa vào liên kết khóa ngoại thân hai Table.Mọi Inner Join đều bắt buộc phải có đk sau ON

Ta dễ dãi liên tưởng đến Inner Join thông qua biểu vật venn vào toán học về phép giao nhì tập hợp. Với A, B đại diện thay mặt cho dữ liệu trong 2 Table. Inner Join chính là kết trái của phép toán A giaoB

*

Inner Join 2 Table vào SQL

Cấu trúc:

SELECT

FROM INNER JOIN

ON . =.

Trong đó:

tên những column buộc phải hiển thị ở kết quả truy vấn. Những column được phân cách với nhau bởi dấu phẩy (,), làtên những bảng để lấy dữ liệu khi truy vấn. thường là tên column khóa ngoại tham chiếu từ table A mang lại column định danh vào Table B hoặc ngược lại.

Lưu ý: Ta trả toàn rất có thể viết tắt INNER JOIN là JOIN vào câu truy nã vấn

So sánh giữa Inner Join loại cũ và mới

Để hiểu rõ hơn về INNER JOINcũng như so sánh giữa Inner Join kiểu cũ và kiểu mới, ta thực hiện Databasejdomain.vn sinh sống đầu bài để tự thao tác trong quá trình theo dõi bài bác viết.

Ví dụ 1: Với yêu mong xuất ra tin tức giáo viên với tên cỗ môn mà giáo viên đó giảng dạy.

Ta xét sơ vật dụng CSDL gồm 2 Table GIAOVIEN và BOMON, mãi mãi khóa ngoại links columnMABM từ bỏ GIAOVIEN tham chiếu cho column MABM sống BOMON

*

Ta có thể thực hiện câu truy hỏi vấn này dưới hai biện pháp sau:

*

Ví dụ khác

Ví dụ 2: Xuất ra tin tức giáo viên (mã GV và tên) và tên tín đồ thân tương xứng của gia sư đó.

SELECT GV.MAGV,GV.HOTEN, NT.TEN AS "NGUOI THAN"FROM dbo.GIAOVIEN AS GV INNER JOIN dbo.NGUOITHAN AS NT ON NT.MAGV = GV.MAGVVí dụ 3: Xuất ra thông tin đề tài (mã DT, thương hiệu DT) với tên chủ thể của đề bài đó

SELECT DT.MADT,DT.TENDT,CD.TENCDFROM dbo.DETAI AS DT INNER JOIN dbo.CHUDE AS CD ON CD.MACD = DT.MACDVí dụ 4: Xuất ra thông tin đề tài (mã DT, tên DT) cùng tên giáo viên công ty nhiệm vấn đề đó

SELECT DT.MADT,DT.TENDT, GV.HOTENFROM dbo.GIAOVIEN AS GV INNER JOIN dbo.DETAI AS DT ON DT.GVCNDT = GV.MAGV

Inner Join những Table trong SQL

Cấu trúc:

SELECT

FROM

INNER JOIN ON

INNER JOIN ON ….

Xem thêm: Why Am I Seeing A 403 Forbidden Or No Permission To Access, How To Fix Wordpress 403 Forbidden Error

Trong đó:

tên các bảng cột yêu cầu hiển thị ở tác dụng truy vấn. Các column được ngăn cách với nhau bằng dấu phẩy (,), , làtên các bảng để lấy dữ liệu khi truy vấn., điều kiện để truy hỏi vấn Inner Join của Table A với những Table khác.

Tương tự như Join 2 Table, Inner join những table cũng có tốc độ tróc nã vấn nhanh hơn truy tìm vấn có điều kiện (hay Inner Join dạng hình cũ).

Ví dụ

Ví dụ 5: cùng với yêu cầu xuất ra thông tin giáo viên (mã GV, thương hiệu GV) với tên khoa mà gia sư đó giảng dạy.

Ta xét sơ trang bị CSDL tất cả 3 Table KHOA, BOMON cùng GIAOVIEN mãi mãi khóa nước ngoài như hình.

*

-- Xuất tin tức GV và Khoa cơ mà GV kia giảng dạySELECT GV.MAGV,GV.HOTEN,K.TENKHOAFROM dbo.BOMON AS BM JOIN dbo.GIAOVIEN AS GV ON GV.MABM = BM.MABM JOIN dbo.KHOA AS K ON K.MAKHOA = BM.MAKHOAVí dụ 6: cùng với yêu ước xuất ra tên vấn đề và tên những giáo viên tham gia đề tài

Gợi ý: bạn có thể dựa trên database của 3 Table: DETAI, THAMGIADT và GIAOVIEN

SELECT DT.MADT, DT.TENDT,GV.HOTENFROM dbo.THAMGIADT AS TGDT INNER JOIN dbo.GIAOVIEN AS GV ON GV.MAGV = TGDT.MAGV INNER JOIN dbo.DETAI AS DT ON DT.MADT = TGDT.MADT

Inner Join phối kết hợp điều kiện

Bạn trả toàn rất có thể kết hòa hợp INNER JOIN với những điều khiếu nại khác nếu cần bằng mệnh đề WHEREtương trường đoản cú ở bài TRUY VẤN CÓ ĐIỀU KIỆN

Ví dụ 7: Xuất ra thông tin các giáo viên nam, cỗ môn và khoa mà giáo viên đó giảng dạy.

SELECT GV.MAGV,GV.HOTEN,GV.PHAI,BM.TENBM, K.TENKHOAFROM dbo.BOMON AS BM JOIN dbo.GIAOVIEN AS GV ON GV.MABM = BM.MABM JOIN dbo.KHOA AS K ON K.MAKHOA = BM.MAKHOAWHERE GV.PHAI ="NAM"Ví dụ 8: Xuất ra tin tức đề tài (Mã DT, thương hiệu DT) cùng tên giáo viên nhà nhiệm đề tài có ngày hoàn thành trước năm 2009

SELECT DT.MADT,DT.TENDT, GV. HOTEN AS N"GV nhà Nhiệm"FROM dbo.DETAI AS DT INNER JOIN dbo.GIAOVIEN AS GV ON GV.MAGV = DT.GVCNDTWHERE YEAR(NGAYKT)

Kết

Trong bài này, chúng ta đã tìm hiểu về INNER JOINtrong SQL Server.

Bài sau họ sẽ tìm hiểu về FULL OUTER JOIN trong SQL.

Cảm ơn các bạn đã theo dõi bài bác viết. Hãy nhằm lại phản hồi hoặc góp ý của bạn để phạt triển bài viết tốt hơn. Đừng quên “Luyện tập –Thử thách –Không không tự tin khó”.


Chuyên mục: Domain Hosting