Sunday, March 29, 2009

Join trong SQL

  1. Inner Join
  2. Outer Join
  3. Cross Join
  4. Equi Join
  5. Natural Join
  6. Self Join

1. Inner Join:

Hiển thị dữ liệu từ nhiều bảng sau khi so sánh giá trị trong một cột chung. Chỉ những dòng có giá trị thỏa điều kiện trong cột chung thì mới hiển thị

Ex:

SELECT *
FROM sinhvien JOIN lop
ON sinhvien.malop = lop.malop

2. Outer Join: left & right

  • Left Outer Join

dòng 1 của bảng thứ 1 kết hợp với n dòng của bảng thứ 2
dòng 2 của bảng thứ 1 kết hợp với n dòng của bảng thứ 2
dòng .. của bảng thứ 1 kết hợp với n dòng của bảng thứ 2

=> xuất thông tin ten sach và ten tac gia khi mà thành phố của tác giả và thành phố của nhà xuất bản giống nhau

SELECT tensach, tentacgia
FROM nhaxuatban LEFT OUTER JOIN tacgia
ON nhaxuatban.thanhpho = tacgia.thanhpho

  • Right Outer Join

dòng n của bảng thứ 1 kết hợp với dòng 1 của bảng thứ 2
dòng n của bảng thứ 1 kết hợp với dòng 2 của bảng thứ 2
dòng n của bảng thứ 1 kết hợp với dòng .. của bảng thứ 2

3. Cross Join:

Nếu bảng tiêu đề có 18 dòng và bảng nhà xuất bản có 8 dòng thì kết quả truy vấn là 144 dòng

4. Equi Join:

Hiển thị những dòng có dữ liệu giống nhau trong dòng điều kiện

SELECT *
FROM sales s JOIN titles t
ON s.title_id = t.title_id
JOIN publishers p
ON t.pub_id = p.pub_id

5. Natural Join:

tương tự Inner join

6. Self Join:

tự liên kết (tìm nhân viên là quản lý)

No comments:

Post a Comment

Nội dung nhận xét của bạn đang được kiểm duyệt.
Vui lòng chờ ....