Hướng dẫn sử dụng kết nối bên trong trong SQL để nhóm dữ liệu từ nhiều bảng

Sử dụng SQL Inner Joins để kết hợp dữ liệu từ ba hoặc nhiều bảng

Bạn có thể sử dụng câu lệnh SQL JOIN để kết hợp dữ liệu từ ba hoặc nhiều bảng. SQL JOIN cực kỳ linh hoạt, và chức năng mạnh mẽ của nó có thể được sử dụng để kết hợp dữ liệu từ nhiều bảng. Chúng ta hãy xem các câu lệnh SQL cho phép bạn kết hợp các kết quả từ ba bảng khác nhau bằng cách sử dụng một phép nối bên trong.

Ví dụ tham gia bên trong

Ví dụ, lấy các bảng có chứa các trình điều khiển trong một bảng và các kết hợp xe trong lần thứ hai. Sự tham gia bên trong xảy ra khi cả xe và tài xế đều nằm trong cùng một thành phố. Tham gia bên trong chọn tất cả các hàng từ cả hai bảng có chứa một kết hợp giữa các cột vị trí.

Câu lệnh SQL dưới đây kết hợp dữ liệu từ các bảng điều khiển và phương tiện trong trường hợp người lái và phương tiện được đặt trong cùng một thành phố:

CHỌN họ, tên, thẻ TỪ trình điều khiển, phương tiện WHERE drivers.location = vehicles.location

Truy vấn này tạo ra các kết quả sau:

lastname firstname tag -------- --------- --- Baker Roland H122JM Smythe Michael D824HA Smythe Michael P091YF Jacobs Abraham J291QR Jacobs Abraham L990MT

Bây giờ, mở rộng ví dụ này để bao gồm một bảng thứ ba. Hãy tưởng tượng rằng bạn muốn chỉ bao gồm các trình điều khiển và xe có mặt tại các địa điểm mở cửa vào cuối tuần. Bạn có thể đưa bảng thứ ba vào truy vấn của bạn bằng cách mở rộng câu lệnh JOIN như sau:

SELECT lastname, firstname, tag, open_weekends TỪ trình điều khiển, phương tiện, địa điểm WHERE drivers.location = vehicles.location AND vehicles.location = locations.location AND locations.open_weekends = 'Yes' lastname firstname tag open_weekends -------- --------- --- ------------- Baker Roland H122JM có Jacobs Abraham J291QR có Jacobs Abraham L990MT yes

Phần mở rộng mạnh mẽ này cho câu lệnh SQL JOIN cơ bản cho phép bạn kết hợp dữ liệu một cách phức tạp. Ngoài việc kết hợp các bảng với một phép nối bên trong, bạn cũng có thể sử dụng kỹ thuật này để kết hợp nhiều bảng bằng cách sử dụng một phép nối ngoài. Các kết nối bên ngoài bao gồm kết quả tồn tại trong một bảng nhưng không có kết quả tương ứng trong bảng đã nối.