Trong cơ sở dữ liệu và truy vấn SQL, INNER JOIN là một khái niệm quan trọng được sử dụng để kết hợp dữ liệu từ nhiều bảng. Với INNER JOIN trong SQL, người dùng có thể tạo các truy vấn phức tạp và mạnh mẽ, cho phép người dùng đào sâu hơn vào mối quan hệ giữa các bảng và dữ liệu. Trong bài viết này, chúng tôi sẽ giới thiệu chi tiết về câu lệnh này thông qua thông tin bên dưới.
- Hướng dẫn cách kiểm tra iPhone còn bảo hành hay không chính xác nhất (2024)
- Tự động tắt khóa màn hình điện thoại Android khi bạn về nhà
- Xem tin nhắn đã thu hồi trên Zalo trên iPhone được không?
- Microsoft Loop là gì? Các tính năng đặc biệt và lý do nên sử dụng nền tảng này?
- Ứng dụng ZArchiver: Tạo và xem file nén 7zip, rar
Giới thiệu về SQL và một số khái niệm cơ bản về JOIN
SQL là ngôn ngữ lập trình chuyên biệt được phát triển để lưu trữ, thao tác và truy xuất dữ liệu trong cơ sở dữ liệu quan hệ. Ngôn ngữ này được nhiều ứng dụng và tổ chức sử dụng để quản lý và phân tích dữ liệu. SQL có thể hoạt động với nhiều hệ thống quản lý cơ sở dữ liệu (DBMS) khác nhau như MySQL, SQL Server, MS Access, Oracle, Sybase, Informix, Postgres, v.v.
Bạn đang xem: INNER JOIN trong SQL
JOIN là một toán tử kết nối dữ liệu từ nhiều bảng với nhau. Khi bạn cần truy vấn các cột dữ liệu từ nhiều bảng để trả về một tập hợp kết quả duy nhất, bạn cần sử dụng câu lệnh này. Trong trường hợp này, 2 bảng được kết nối khi có dữ liệu chung giữa 2 bảng. Có nhiều loại JOIN trong SQ, chẳng hạn như INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN và SELF JOIN. Mỗi loại JOIN có cách hoạt động và trả về kết quả khác nhau.
INNER JOIN trong SQL là loại JOIN phổ biến nhất, nó trả về các bản ghi có giá trị trùng khớp ở cả hai bảng, loại bỏ các bản ghi không trùng khớp. INNER JOIN giúp bạn lọc ra dữ liệu có liên quan và chính xác giữa các bảng, tránh dữ liệu trùng lặp hoặc không chính xác. INNER JOIN cũng giúp bạn tối ưu hóa hiệu suất truy vấn, giảm thời gian xử lý và tăng tốc độ trả về kết quả khi sử dụng.
Định nghĩa và cách INNER JOIN hoạt động trong SQL
INNER JOIN là một loại hoạt động kết nối hai hoặc nhiều bảng dữ liệu dựa trên điều kiện so sánh giữa các cột có giá trị chung. INNER JOIN chỉ trả về các bản ghi có giá trị trùng khớp trong cả hai bảng và các bản ghi không có giá trị trùng khớp sẽ bị loại bỏ. Hoạt động của INNER JOIN có thể được mô tả như sau:
- SQL sẽ lấy từng bản ghi trong bảng đầu tiên và so sánh giá trị trong cột được chỉ định chỉ với các giá trị tương ứng trong cột thứ hai trong bảng.
- Nếu có sự khớp giữa các giá trị, SQL sẽ kết hợp các bản ghi từ hai bảng dựa trên điều kiện khớp này và trả về kết quả.
- Những bản ghi không có giá trị trùng khớp sẽ bị loại khỏi kết quả cuối cùng.
- Quá trình trên sẽ tiếp tục cho đến khi tất cả các bản ghi trong bảng đầu tiên được kiểm tra và kết quả cuối cùng chứa các bản ghi được hợp nhất từ cả hai bảng.
Cú pháp của INNER JOIN như sau:
- CHỌN bảng1.cột1, bảng1.cột2, bảng2.cột1,…
- TỪ bảng 1
- INNER JOIN table2
- TRÊN bảng1.cột_phù_hợp = bảng2.cột_phù_hợp;
Trong đó: Table1, table2 là tên của hai bảng cần kết nối. Column1, column2 là tên của các cột cần lấy dữ liệu từ hai bảng và matching_column là tên của cột có giá trị chung giữa hai bảng, được sử dụng làm điều kiện kết nối.
Cách sử dụng INNER JOIN trong các truy vấn phức tạp
Khi xử lý các truy vấn phức tạp, việc sử dụng INNER JOIN rất quan trọng để đạt được kết quả chính xác và cung cấp thông tin cần thiết. INNER JOIN có thể được sử dụng để thực hiện các truy vấn phức tạp trên nhiều bảng bằng cách kết hợp nhiều điều kiện và các phép so sánh toán tử khác.
Sử dụng INNER JOIN trong SQL để kết hợp nhiều điều kiện
Ta có thể sử dụng INNER JOIN để kết hợp nhiều điều kiện trong mệnh đề ON, bằng cách sử dụng các toán tử logic như AND, OR, NOT. Giả sử ta có hai bảng: bảng SinhVien chứa thông tin về sinh viên và bảng Diem chứa thông tin về điểm của sinh viên. Khi ta muốn truy vấn những sinh viên có điểm trung bình lớn hơn 8 và thuộc khoa CNTT.
Sau đây là cách sử dụng INNER JOIN với các điều kiện khác nhau:
CHỌN Sinh viên.Mã sinh viên, Sinh viên.Họ và tên, Sinh viên.Khoa, Điểm.Ngày
TỪ Học sinh
INNER JOIN Điểm TRÊN Student.StudentName = Điểm.StudentName
Xem thêm : 15 cách mở Device Manager trong Windows 10
NƠI Diem.DTB > 8 VÀ SinhVien.Khoa = ‘CNTT’;
Sử dụng INNER JOIN trong SQL với các toán tử so sánh khác
Ngoài toán tử so sánh (=), chúng ta cũng có thể sử dụng các toán tử so sánh khác như <, >, <=, >=, <>, IN, BETWEEN, LIKE, IS NULL, IS NOT NULL để xác định điều kiện nối. Giả sử có hai bảng: bảng NhanVien chứa thông tin về nhân viên và bảng PhongBan chứa thông tin về phòng ban. Trong trường hợp bạn muốn truy vấn những nhân viên có mức lương từ 10 triệu đến 20 triệu và thuộc các phòng ban có tên bắt đầu bằng chữ K.
Sau đây là cách sử dụng INNER JOIN với các toán tử so sánh khác:
CHỌN Employee.ID, Employee.FullName, Employee.Salary, Department.PublicName
TỪ Nhân viên
INNER JOIN Office ON Employee.MaPB = Office.MaPB
NƠI NhanVien.Luong GIỮA 10000000 VÀ 20000000
VÀ PhongBan.PB Tên NHƯ ‘K%’;
So sánh INNER JOIN trong SQL với các loại JOIN khác
Trong SQL, có nhiều loại JOIN khác nhau để kết hợp thông tin từ các bảng. Mỗi loại JOIN có cách hoạt động và ứng dụng riêng. Trong số đó, INNER JOIN là một trong những loại JOIN phổ biến nhất hiện nay. Tuy nhiên, để hiểu rõ hơn về câu lệnh này, chúng ta cần so sánh nó với các loại JOIN khác. Dưới đây là một số so sánh giữa INNER JOIN và các loại JOIN khác.
So sánh INNER JOIN với LEFT JOIN
Khi làm việc với JOIN được phép trong SQL, INNER JOIN và LEFT JOIN là hai loại phổ biến được sử dụng để kết hợp dữ liệu từ nhiều bảng. Mặc dù cả hai JOIN này đều có cách kết hợp dữ liệu chuẩn, nhưng chúng có dữ liệu đặc biệt quan trọng trong cách chúng hoạt động và trả về kết quả.
INNER JOIN trong SQL chỉ trả về các bản ghi có giá trị trùng khớp trong cả hai bảng. Các bản ghi không có giá trị trùng khớp sẽ bị loại khỏi kết quả cuối cùng. Điều này có nghĩa là chỉ hiển thị các bản ghi có giá trị trùng khớp trong cả bảng bên trái và bên phải. INNER JOIN giúp tìm các bản ghi liên quan trong các bảng khác nhau và kết hợp chúng thành một bản chỉnh sửa dữ liệu duy nhất.
Mặt khác, LEFT JOIN không xóa bất kỳ bản ghi nào khỏi bảng bên trái. Nó trả về tất cả các bản ghi từ bảng bên trái, bất kể chúng có khớp với bảng bên phải hay không. Nếu không có giá trị khớp trong bảng, thì các cột trong bảng phải có giá trị NULL trong đầu ra. LEFT JOIN cho phép lấy tất cả các bản ghi từ bảng bên trái và kết hợp chúng với các bản ghi khớp từ bảng bên phải.
So sánh INNER JOIN với RIGHT JOIN
INNER JOIN và RIGHT JOIN là hai loại JOIN khác nhau về cách thức hoạt động và kết quả trả về. Câu lệnh này chỉ trả về các bản ghi có giá trị khớp nhau trong cả hai bảng. Chỉ các bản ghi có giá trị khớp nhau trong cả hai bảng bên trái và bên phải mới được hiển thị. Các bản ghi không có giá trị khớp nhau sẽ bị loại bỏ.
RIGHT JOIN không loại trừ bất kỳ bản ghi nào từ bảng bên phải. Nó trả về tất cả các bản ghi từ bảng bên phải bị loại trừ khỏi việc khớp với bảng bên trái. Nếu không có giá trị khớp trong bảng bên trái, các cột từ bảng bên trái sẽ có giá trị NULL trong đầu ra. Câu lệnh này được sử dụng trong trường hợp người dùng muốn lấy tất cả các bản ghi từ bảng bên phải và kết hợp chúng với các bản ghi khớp từ bảng bên trái. Điều này hữu ích khi người dùng muốn giữ lại tất cả thông tin từ bảng bên phải, ngay cả khi không có kết quả khớp nào trong bảng bên trái.
So sánh INNER JOIN với FULL JOIN
Xem thêm : Cách sử dụng Boilsoft Video Joiner
INNER JOIN và FULL JOIN là hai loại JOIN khác nhau về cách thức hoạt động và kết quả trả về. INNER JOIN chỉ trả về các bản ghi có giá trị khớp nhau trong cả hai bảng. Chỉ các bản ghi có giá trị khớp nhau trong cả bảng bên trái và bên phải mới được hiển thị trong kết quả cuối cùng. Các bản ghi không có giá trị khớp nhau sẽ bị loại bỏ.
Ngược lại, FULL JOIN trả về tất cả các bản ghi từ cả hai bảng, bao gồm cả các bản ghi khớp và không khớp. Nếu không có giá trị khớp trong một bảng, các cột từ bảng đó sẽ có giá trị NULL trong đầu ra. FULL JOIN được sử dụng khi người dùng muốn lấy tất cả các bản ghi từ cả hai bảng, bất kể chúng có khớp hay không. Đây là một câu lệnh hữu ích khi bạn muốn hiển thị tất cả thông tin từ cả hai bảng và xác định các bản ghi không khớp.
Một số câu lệnh có thể kết hợp các câu lệnh INNER JOIN.
INNER JOIN trong SQL là một công cụ mạnh mẽ cho phép kết hợp thông tin từ nhiều bảng dựa trên một liên kết có điều kiện. Sử dụng câu lệnh này, chúng ta có thể truy xuất dữ liệu từ các bảng được liên kết và nhận được kết quả chính xác mà chúng ta cần. Sau đây là một số câu lệnh phổ biến có thể kết hợp với INNER JOIN để thực hiện các truy vấn phức tạp:
Câu lệnh WHERE
Lệnh WHERE trong SQL được sử dụng để áp dụng lọc có điều kiện cho dữ liệu trong câu lệnh SELECT, UPDATE hoặc DELETE. Lệnh WHERE cho phép bạn chỉ định một hoặc nhiều điều kiện mà các mục phải đáp ứng để được chọn, cập nhật hoặc xóa.
Khi INNER JOIN được kết hợp với câu lệnh WHERE, chúng ta có thể áp dụng các điều kiện bổ sung để lọc kết quả của câu lệnh INNER JOIN. Câu lệnh WHERE cho phép người dùng chỉ định một điều kiện để chọn các hàng từ các bảng được kết hợp.
Lệnh GROUP BY
GROUP BY là một câu lệnh mạnh mẽ trong ngôn ngữ truy vấn cơ sở dữ liệu, được sử dụng để nhóm các bản ghi dựa trên một hoặc nhiều cột. Khi kết hợp với câu lệnh SQL INNER JOIN, câu lệnh GROUP BY có thể tạo ra các nhóm hữu ích sau khi hai bảng đã được nối.
Khi sử dụng lệnh GROUP BY, chúng ta phải chỉ định cột hoặc các cột mà chúng ta muốn nhóm dữ liệu. Các bản ghi có giá trị giống hệt nhau trong các cột được chỉ định sẽ được nhóm thành một nhóm duy nhất. Sau đó, họ có thể áp dụng các hàm tổng hợp như COUNT, SUM, AVG, MAX, MIN và nhiều hàm khác để tính toán thống kê giá trị trên dữ liệu được nhóm này.
Lệnh ORDER BY
Lệnh ORDER BY là một phần quan trọng của ngôn ngữ truy vấn cơ sở dữ liệu, cho phép chúng sắp xếp các bản ghi theo một hoặc nhiều cột. Khi kết hợp với lệnh INNER JOIN, câu lệnh này cung cấp khả năng sắp xếp các bản ghi sau khi hai bảng đã được nối.
Trong cơ sở dữ liệu, thông tin thường được lưu trữ theo cách có cấu trúc hoặc không có cấu trúc. Khi chúng ta muốn hiển thị dữ liệu theo thứ tự tối thiểu, lệnh ORDER BY trở nên cần thiết. Người dùng có thể chỉ định cột hoặc các cột mà chúng ta muốn sắp xếp dữ liệu. Khi truy vấn được thực thi, dữ liệu sẽ được sắp xếp theo thứ tự tăng dần hoặc giảm dần của các cột đã chọn.
Kết luận
INNER JOIN trong SQL là một kết nối quan trọng cho phép kết hợp thông tin từ các bảng khác nhau dựa trên sự kết hợp các điều kiện. Việc sử dụng INNER JOIN cần phải được thực hiện cẩn thận và các điều kiện phải được xác định đúng để đảm bảo tính chính xác và hiệu quả của truy vấn dữ liệu. Tuy nhiên, người dùng cần cẩn thận để tránh trả về kết quả quá lớn hoặc truy vấn không hiệu quả. Đồng thời, việc xác định một điều kiện phù hợp là rất quan trọng để đảm bảo tính chính xác và đúng đắn của kết quả INNER JOIN.
Xem thêm:
Phương pháp đánh máy Telex, Phương pháp đánh máy Telex và bảng mã hóa Telex tiếng Việt
Tệp REG trong Windows là gì? Cách mở và đọc nội dung của tệp REG
Nguồn: https://tuyengiaothudo.vn
Danh mục: Thủ thuật