
Bài 4: Câu lệnh hợp (UNION)
1. Định nghĩa:Câu lệnh hợp được sử dụng trong trường
hợp ta cần gộp kết quả của hai hay nhiều truy vấn thành
một tập kết quả duy nhất.
2. Cú pháp như sau:
Câu_lệnh_select_1
UNION [ALL] Câu_lệnh_select_2
[UNION [ALL] Câu_lệnh__select_3]
...
[UNION [ALL] Câu_lệnh_select_n]
[ORDER BY cột_sắp_xếp]
[COMPUTE danh_sách_hàm_gộp [BY danh_sách_cột]]

Bài 4: Câu lệnh hợp (UNION)
3. Ví dụ: có 2 bảng
SELECT A,B FROM Table1
UNION
SELECT D,E FROM table2
Mặc định kết quả sẽ bỏ đi những dòng dữ liệu giống
nhau, nếu muốn dữ lại những dòng dữ liệu giống
nhau ta dùng UNION ALL.
Kết quả

Bài 4: Câu lệnh hợp (UNION)
4. Các nguyên tắc khi sử dụng UNION:
•Danh sách cột trong các truy vấn thành phần phải có cùng số
lượng.
•Các cột tương ứng trong tất cả các bảng, hoặc tập con bất kỳ các
cột được sử dụng trong bản thân mỗi truy vấn thành phần phải
cùng kiểu dữ liệu.
•Các cột tương ứng trong bản thân từng truy vấn thành phần của
một câu lệnh UNION phải xuất hiện theo thứ tự như nhau.
Nguyên nhân là do phép hợp so sánh các cột từng cột một theo
thứ tự được cho trong mỗi truy vấn.
•Khi các kiểu dữ liệu khác nhau được kết hợp với nhau trong câu
lệnh UNION, chúng sẽ được chuyển sang kiểu dữ liệu cao hơn
(nếu có thể được).
•Tiêu đề cột trong kết quả của phép hợp sẽ là tiêu đề cột được chỉ
định trong truy vấn đầu tiên.

Bài 4: Câu lệnh hợp (UNION)
4. Các nguyên tắc khi sử dụng UNION:
•Truy vấn thành phần đầu tiên có thể có INTO để tạo mới một
bảng từ kết quả của chính phép hợp.
• Mệnh đề ORDER BY và COMPUTE dùng để sắp xếp kết quả
truy vấn hoặc tính toán các giá trị thống kê chỉ được sử dụng ở
cuối câu lệnh UNION. Chúng không được sử dụng trong bất
kỳ truy vấn thành phần nào.
• Mệnh đề GROUP BY và HAVING chỉ có thể được sử dụng
trong bản thân từng truy vấn thành phần. Chúng không được
phép sử dụng để tác động lên kết quả chung của phép hợp.
•Phép toán UNION có thể được sử dụng bên trong câu lệnh
INSERT.
•Phép toán UNION không được sử dụng trong câu lệnh
CREATE VIEW.

