Hướng dẫn này giải thích cách hoạt động của phép nối bên trong SQL. Sau phần hướng dẫn, bạn sẽ biết cách áp dụng mệnh đề INNER JOIN để truy vấn dữ liệu từ nhiều bảng.
Bạn đang xem : tham gia bên trong sql với nơi
Tóm tắt : trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng mệnh đề SQL INNER JOIN để truy vấn dữ liệu từ hai hoặc nhiều bảng.
Giới thiệu về mệnh đề SQL INNER JOIN
Cho đến nay, bạn đã đã học cách sử dụng câu lệnh SELECT để truy vấn dữ liệu từ một bảng. Tuy nhiên, câu lệnh SELECT
không giới hạn ở dữ liệu truy vấn từ một bảng. Câu lệnh SELECT
có thể liên kết nhiều bảng với nhau.
Quá trình liên kết các bảng được gọi là nối. SQL cung cấp nhiều loại phép nối như phép nối bên trong, phép nối bên trái , phép nối phải, phép nối bên ngoài đầy đủ, v.v. Hướng dẫn này tập trung vào phép nối bên trong.
Giả sử, bạn có hai bảng: A và B.
Bảng A có bốn hàng: (1,2,3,4) và bảng B có bốn hàng: (3,4,5,6)
Khi bảng A kết hợp với bảng B bằng phép nối bên trong, bạn có tập kết quả (3,4) là giao điểm của bảng A và bảng B.
Xem hình sau.
Đối với mỗi hàng trong bảng A, mệnh đề nối bên trong tìm các hàng phù hợp trong bảng B. Nếu một hàng được khớp, hàng đó sẽ được đưa vào tập kết quả cuối cùng. p>
Giả sử các cột trong bảng A và B là a
và b
. Câu lệnh sau minh họa mệnh đề liên kết bên trong:
CHỌN
aTỪ
AINNER
THAM GIA
BBẬT
b = a;Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
THAM GIA INNER mệnh đề xuất hiện sau mệnh đề FROM. Điều kiện để khớp giữa bảng A và bảng B được chỉ định sau từ khóa ON. Điều kiện này được gọi là điều kiện nối, tức là B.n = A.n
Mệnh đề INNER JOIN có thể nối ba bảng trở lên miễn là chúng có mối quan hệ, thường là mối quan hệ khóa ngoài. P >
Ví dụ: câu lệnh sau minh họa cách nối 3 bảng: A, B và C:
CHỌN
MộtTỪ
AINNER
THAM GIA
BBẬT
B.n = A.nINNER
THAM GIA
CBẬT
C.n = A.n;Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
SQL INNER JOIN ví dụ
Hãy lấy một số ví dụ thực tế về việc sử dụng mệnh đề INNER JOIN
.
1) Sử dụng SQL INNER JOIN để nối hai bảng ví dụ
< p> Chúng tôi sẽ sử dụng bảng nhân viên
và phòng ban
từ cơ sở dữ liệu mẫu để chứng minh cách hoạt động của mệnh đề INNER JOIN
.
Mỗi nhân viên thuộc về một và chỉ một bộ phận trong khi mỗi bộ phận có thể có nhiều hơn một nhân viên. Mối quan hệ giữa phòng ban
và nhân viên
là một-nhiều.
Cột Department_id
trong bảng nhân viên
là cột khóa ngoại liên kết nhân viên
với bảng phòng ban
.
Để lấy thông tin của id phòng ban 1 , 2 và 3, bạn sử dụng câu lệnh sau.
);
CHỌN
Department_id, Tên bộ phậnTỪ
các phòng banỞ ĐÂU
Department_idIN
(1
,2
, < p class = "hljs-number"> 3Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Hãy thử span >
Lưu ý rằng chúng tôi đã sử dụng toán tử IN trong mệnh đề WHERE để lấy các hàng có Department_id 1, 2 và 3.
Để lấy thông tin của các nhân viên làm việc ở id bộ phận 1, 2 và 3, bạn sử dụng truy vấn sau:
)
CHỌN
họ, họ, Department_idTỪ
người lao độngỞ ĐÂU
Department_idIN
(1
,2
, < p class = "hljs-number"> 3ĐẶT HÀNG
THEO
Department_id;Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
< span class = "sql" rel = "noopener noreferrer" target = "_ blank"> Dùng thử
Để kết hợp dữ liệu từ hai bảng này, bạn sử dụng mệnh đề nối bên trong làm truy vấn sau:
CHỌN
họ, họ, nhân viên.department_id, Department.department_id, Tên bộ phậnTỪ
người lao độngINNER
THAM GIA
các phòng banBẬT
Department.department_id = staff.department_idỞ ĐÂU
staff.department_idIN
(1
,2
,3
);Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Dùng thử
Đối với mỗi hàng trong bảng staff
, câu lệnh sẽ kiểm tra xem giá trị của cột Department_id
có bằng với giá trị của Department_id
trong bảng phòng ban
. Nếu điều kiện
Nếu điều kiện staff.department_id = domains.department_id
được thỏa mãn, hàng kết hợp bao gồm dữ liệu từ các hàng trong cả staff
và < bảng mã> phòng ban được bao gồm trong tập kết quả.
Lưu ý rằng cả bảng nhân viên
và phòng ban
có cùng tên cột
Mỗi nhân viên đảm nhiệm một công việc trong khi một công việc có thể do nhiều nhân viên đảm nhiệm. Mối quan hệ giữa bảng công việc
và bảng nhân viên
là một-nhiều.
Sơ đồ cơ sở dữ liệu sau minh họa mối quan hệ giữa các nhân viên Bảng
, phòng ban
và công việc
:
Truy vấn sau sử dụng mệnh đề nối bên trong để nối 3 bảng: nhân viên , phòng ban và công việc để lấy họ, tên, chức danh và tên bộ phận của những nhân viên làm việc ở id bộ phận 1, 2 và 3.
CHỌN
họ, họ, job_title, Tên bộ phậnTỪ
nhân viên eINNER
THAM GIA
các phòng ban dBẬT
d.department_id = e.department_idINNER
THAM GIA
việc làm jBẬT
j.job_id = e.job_idỞ ĐÂU
e.department_idIN
(1
,2
,3
);Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
< p> Dùng thử
Bây giờ bạn sẽ hiểu cách hoạt động của mệnh đề SQL INNER JOIN và biết cách áp dụng nó để truy vấn dữ liệu từ nhiều bảng.
Hướng dẫn này có hữu ích không? p >
Xem thêm những thông tin liên quan đến chủ đề tham gia bên trong sql với nơi
Bài 8: Tạo View (Khung nhìn – Bảng ảo)
- Tác giả: Tran Huong CNTT
- Ngày đăng: 2021-10-12
- Đánh giá: 4 ⭐ ( 4527 lượt đánh giá )
- Khớp với kết quả tìm kiếm: tranhuongCNTT SQLServer View CơsởdữliệuSQL BảngảotrongSQLServer
CẢM ƠN TẤT CẢ QUÝ VỊ
“ĐĂNG KÝ” ỦNG HỘ KÊNH PHÁT TRIỂN
“LIKE” NẾU CẢM THẤY VIDEO HỮU ÍCH.
Tham số OUTPUT của Stored Procedure trong SQL Server
- Tác giả: vi-magento.com
- Đánh giá: 5 ⭐ ( 4698 lượt đánh giá )
- Khớp với kết quả tìm kiếm:
Tham gia bên trong hoạt động như thế nào trong SQL Server?
- Tác giả: presbyteryofstockton.org
- Đánh giá: 4 ⭐ ( 2295 lượt đánh giá )
- Khớp với kết quả tìm kiếm: INNER JOIN chọn tất cả các hàng từ cả hai bảng tham gia miễn là có sự trùng khớp giữa các cột. Một SQL INNER JOIN giống như mệnh đề JOIN, kết hợp các hàng từ hai bảng trở lên. Một phép nối bên trong của A và B cho kết quả A giao với B, tức là phần bên trong của giao điểm biểu đồ Venn.
Hàm và tham số trong PHP » Cafedev.vn
- Tác giả: cafedev.vn
- Đánh giá: 5 ⭐ ( 8400 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Các hàm được tham số hóa trong PHP là các hàm có tham số. Bạn có thể truyền bất kỳ số lượng tham số nào vào bên trong một hàm
Tổ chức lưu trữ trong SQL Server: data pages và data rows
- Tác giả: quantricsdulieu.com
- Đánh giá: 5 ⭐ ( 3263 lượt đánh giá )
- Khớp với kết quả tìm kiếm:
Tham gia SQL (Trong Postgres)
- Tác giả: helpex.vn
- Đánh giá: 3 ⭐ ( 5609 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Ngôn ngữ truy vấn có cấu trúc yêu quý của chúng ta có thể là ngôn ngữ phổ biến cho cơ sở dữ liệu quan hệ – nhưng giống như nhiều ngôn ngữ, SQL đang ở trong trạng thái phát triển liên tục.…
10 Nội dung phỏng vấn SQL giúp bạn chinh phục nhà tuyển dụng (Phần 1)
- Tác giả: datapot.vn
- Đánh giá: 3 ⭐ ( 8702 lượt đánh giá )
- Khớp với kết quả tìm kiếm: SQL ngày càng quan trọng trong doanh nghiệp. Dưới đây là top 10 nội dung hay được hỏi khi bạn đi phỏng vấn SQL. Hãy cũng Datapot tìm hiểu thêm nhé!
Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình