http://vietjack.com/sql/index.jsp Copyright © vietjack.com http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 INNER JOIN trong SQL Loại JOIN thường được sử dụng nhất
Trang 1http://vietjack.com/sql/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1
INNER JOIN trong SQL
Loại JOIN thường được sử dụng nhất và quan trọng nhất là INNER JOIN Chúng cũng được gọi là
một EQUIJOIN
INNER JOIN tạo một bảng kết quả mới bằng việc kết hợp các giá trị cột của hai bảng (bang1 và bang2) dựa trên join-predicate Truy vấn này so sánh mỗi hàng trong bang1 với mỗi hàng trong bang2 để tìm ra các cặp hàng mà thỏa mãn join-predicate Khi join-predicate được thỏa mãn, các giá trị cột của mỗi cặp hàng được kết nối A và B được kết hợp vào trong một hàng kết quả
Cú pháp
Cú pháp cơ bản của INNER JOIN trong SQL là:
SELECT bang1 cot1 , bang2 cot2
FROM bang1
INNER JOIN bang2
ON bang1 field_chung = bang2 field_chung ;
Ví d ụ
Giả sử có hai bảng, bảng SINHVIEN có các bản ghi sau:
+ + -+ -+ -+ -+
| ID | TEN | TUOI | KHOAHOC | HOCPHI |
+ + -+ -+ -+ -+
| 1 | Hoang | 21 CNTT | 4000000 |
| 2 | Viet | 19 DTVT | 3000000 |
| 3 | Thanh | 18 KTDN | 4000000 |
| 4 | Nhan | 19 CK | 4500000 |
| 5 | Huong | 20 TCNH | 5000000 |
+ + -+ -+ -+ -+
Bảng MUONSACH có các bản ghi sau:
+ -+ -+ -+ -+
| STT | NGAY | SINHVIEN_ID | SOTIEN |
+ -+ -+ -+ -+
Trang 2http://vietjack.com/sql/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 2
| 102 2009 - 10 - 08 00 : 00 : 00 3 | 320
| 100 2009 - 10 - 08 00 : 00 : 00 3 | 250
| 101 2009 - 11 - 20 00 : 00 : 00 2 | 280
| 103 2008 - 05 - 20 00 : 00 : 00 4 | 290
+ -+ -+ -+ -+
Bây giờ, chúng ta kết hợp hai bảng bởi sử dụng INNER JOIN trong SQL như sau:
SQL > SELECT ID , TEN , SOTIEN , NGAY
FROM SINHVIEN
INNER JOIN MUONSACH
ON SINHVIEN ID = MUONSACH SINHVIEN_ID ;
Ví dụ trên sẽ cho kết quả:
+ + -+ -+ -+
| ID | TEN | SOTIEN | NGAY |
+ + -+ -+ -+
| 3 | Thanh | 320 2009 - 10 - 08 00 : 00 : 00
| 3 | Thanh | 250 2009 - 10 - 08 00 : 00 : 00
| 2 | Viet | 280 2009 - 11 - 20 00 : 00 : 00
| 4 | Nhan 290 2008 - 05 - 20 00 : 00 : 00
+ + -+ -+ -+