SQL có các kiểu nối sau, tất cả đều xuất phát từ lý thuyết tập hợp:
-
Tham gia bên trong.
From A inner join B
tương đương với A ∩ B, cung cấp tập hợp các phần tử chung cho cả hai tập hợp. -
Kết nối bên ngoài bên trái.
From A left outer join B
là tương đương của (A - B) ∪ (A ∩ B). Mỗi chữ A sẽ xuất hiện ít nhất một lần; nếu có nhiều B phù hợp, A sẽ được lặp lại một lần cho mỗi B. phù hợp. -
Tham gia bên ngoài bên phải.
From A right outer join B
là tương đương của (A ∩ B) ∪ (B - A). Nó giống với phép nối trái với các bàn giao dịch chỗ. Mỗi B sẽ xuất hiện ít nhất một lần; nếu có nhiều As phù hợp, mỗi B sẽ được lặp lại một lần cho mỗi B. phù hợp. -
Tham gia bên ngoài đầy đủ.
From A full outer join B
là tương đương của (A - B) ∪ (A ∩ B) ∪ (B - A). Mỗi A và mỗi B sẽ xuất hiện ít nhất một lần. Nếu một A khớp với nhiều B, nó sẽ được lặp lại một lần cho mỗi trận đấu; nếu một B phù hợp với nhiều Vì nó sẽ được lặp lại một lần mỗi trận. -
Tham gia chéo.
From A cross join B
là sản xuất sản phẩm cacte A × B. Mỗi A sẽ được lặp lại một lần cho mỗi B. Nếu A có 100 hàng và B có 100 hàng, tập kết quả sẽ bao gồm 10.000 hàng.
Cần lưu ý rằng việc thực thi theo lý thuyết của một select
truy vấn bao gồm các bước sau được thực hiện theo thứ tự này:
-
Tính toàn bộ sản phẩm cacte của (các) bộ nguồn trong
from
mệnh đề nguyên tố trong tập kết quả ứng cử viên. -
Áp dụng tiêu chí kết hợp trong
from
mệnh đề và giảm tập kết quả ứng cử viên. -
Áp dụng các tiêu chí trong mệnh đề
where clause
để giảm thêm tập hợp kết quả ứng viên. -
phân chia tập hợp kết quả ứng cử viên thành các nhóm dựa trên tiêu chí trong nhóm
group by
mệnh đề. -
Loại bỏ khỏi kết quả ứng cử viên đặt bất kỳ cột nào khác với những cột có liên quan đến nhóm
group by
hoặc liên quan đến việc đánh giá một chức năng tổng hợp. -
Tính toán giá trị của bất kỳ hàm tổng hợp nào như vậy cho từng nhóm trong tập kết quả ứng viên.
-
Thu gọn mỗi nhóm trong tập hợp kết quả ứng viên thành một hàng duy nhất bao gồm các cột nhóm và các giá trị được tính toán cho mỗi hàm tổng hợp. Tập hợp kết quả đề xuất hiện bao gồm một hàng cho mỗi nhóm, với tất cả các cột khác với nhóm
group by
cột hoặc giá trị tính toán của các hàm tổng hợp cho nhóm bị loại bỏ. -
Áp dụng các tiêu chí trong
having
mệnh đề để giảm tập kết quả ứng viên và tạo ra tập kết quả cuối cùng. -
Sắp xếp kết quả cuối cùng được thiết lập theo tiêu chí trong
order by
và phát ra nó.
Có nhiều bước hơn, phải làm với những thứ như compute
và compute by
nhưng điều này là đủ để có được khái niệm lý thuyết về cách nó hoạt động.
Cũng cần lưu ý rằng không có gì ngoại trừ việc triển khai ngây thơ nhất sẽ thực sự đánh giá một select
tuyên bố theo cách này, nhưng kết quả được tạo ra phải giống như khi các bước trên được thực hiện đầy đủ.