Sử dụng phép nối trong SQL

Một phần của tài liệu Câu lệnh SELECT doc (Trang 47 - 54)

 Chuẩn SQL2 (SQL-92) đưa ra một cách khác để biểu diễn cho phép nối, trong cách biểu diễn này, điều kiện của phép nối không được chỉ định trong mệnh đề

WHERE mà được chỉ định ngay trong mệnh đề FROM của câu lệnh.

 Cách sử dụng phép nối này cho phép ta biểu diễn phép nối cũng như điều kiện nối được rõ ràng, đặc biệt là trong trường hợp phép nối được thực hiện trên ba bảng trở lên.

Sử dụng phép nối trong SQL2

Phép nối trong

 Điều kiện để thực hiện phép nối trong được chỉ định trong mệnh đề FROM theo cú pháp như sau:

tên_bảng_1 INNER JOIN tên_bảng_2 ON điều_kiện_nối

Ví dụ: Để hiển thị họ tên và ngày sinh của các sinh viên lớp Tin K24, thay vì sử dụng câu lệnh:

SELECT hodem, ten, ngaysinh FROM sinhvien, lop

WHERE tenlop='Tin K24' AND sinhvien.malop=lop.malop

ta có thể sử dụng câu lệnh như sau:

SELECT hodem,ten,ngaysinh

FROM sinhvien INNER JOIN lop ON sinhvien.malop=lop.malop WHERE tenlop='Tin K24'

Sử dụng phép nối trong SQL2

Phép nối ngoài

 SQL2 cung cấp các phép nối ngoài sau đây:

• Phép nối ngoài trái (LEFT OUTER JOIN) • Phép nối ngoài phải (RIGHT OUTER JOIN) • Phép nối ngoài đầy đủ (FULL OUTER JOIN)

 Điều kiện của phép nối ngoài cũng được chỉ định ngay trong mệnh đề FROM theo cú pháp:

tên_bảng_1 LEFT|RIGHT|FULL [OUTER] JOIN

Ví dụ:

Nối ngoài trái:

SELECT *

FROM nhanvien LEFT OUTER JOIN donvi ON nhanvien.madv=donvi.madv

Ví dụ:

Nối ngoài phải:

SELECT *

FROM nhanvien RIGHT OUTER JOIN donvi ON nhanvien.madv=donvi.madv

Ví dụ:

Nối ngoài đầy đủ:

SELECT *

FROM nhanvien FULL OUTER JOIN donvi ON nhanvien.madv=donvi.madv

Sử dụng phép nối trong SQL2

Thực hiện phép nối trên nhiều bảng

 Một đặc điểm nổi bật của SQL2 là cho phép biểu diễn phép nối trên nhiều bảng dữ liệu một cách rõ ràng.

 Thứ tự thực hiện phép nối giữa các bảng được xác định bằng cách sử dụng các dấu ngoặc ().

Ví dụ: Câu lệnh dưới đây hiển thị họ tên và ngày sinh của các sinh viên thuộc Khoa Công nghệ Thông tin

SELECT hodem, ten, ngaysinh

FROM (sinhvien INNER JOIN lop ON sinhvien.malop=lop.malop) INNER JOIN khoa ON lop.makhoa=khoa.makhoa

Một phần của tài liệu Câu lệnh SELECT doc (Trang 47 - 54)

Tải bản đầy đủ (PPT)

(80 trang)