Điều kiện UNION và UNION ALL trong SQL
- Trang trước SQL Full Join
- Trang tiếp theo SQL Select Into
Điều kiện UNION trong SQL
Điều kiện UNION được sử dụng để hợp nhất kết quả của hai hoặc nhiều câu lệnh SELECT.
Vui lòng chú ý, câu lệnh SELECT bên trong UNION phải có số lượng cột giống nhau. Các cột cũng phải có loại dữ liệu tương tự. Đồng thời, thứ tự các cột trong mỗi câu lệnh SELECT phải giống nhau.
Cú pháp SQL UNION
SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2
Chú ý:Mặc định, toán tử UNION chọn các giá trị khác nhau. Nếu cho phép giá trị trùng lặp, hãy sử dụng UNION ALL.
Cú pháp SQL UNION ALL
SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2
Ngoài ra, tên cột trong kết quả của UNION luôn bằng tên cột của câu lệnh SELECT đầu tiên trong UNION.
Dưới đây là bảng cơ sở dữ liệu gốc được sử dụng trong ví dụ:
Employees_China:
E_ID | E_Name |
---|---|
01 | Zhang, Hua |
02 | Wang, Wei |
03 | Carter, Thomas |
04 | Yang, Ming |
Employees_USA:
E_ID | E_Name |
---|---|
01 | Adams, John |
02 | Bush, George |
03 | Carter, Thomas |
04 | Gates, Bill |
Sử dụng lệnh UNION
Ví dụ
Liệt kê tất cả các tên nhân viên khác nhau ở Trung Quốc và Mỹ:
SELECT E_Name FROM Employees_China UNION SELECT E_Name FROM Employees_USA
Kết quả
E_Name |
---|
Zhang, Hua |
Wang, Wei |
Carter, Thomas |
Yang, Ming |
Adams, John |
Bush, George |
Gates, Bill |
Chú ý:Lệnh này không thể liệt kê tất cả các nhân viên ở Trung Quốc và Mỹ. Trong ví dụ trên, chúng ta có hai nhân viên có cùng tên, chỉ có một người trong số họ được liệt kê. Lệnh UNION chỉ chọn các giá trị khác nhau.
UNION ALL
Lệnh UNION ALL và lệnh UNION gần như tương đương, nhưng lệnh UNION ALL sẽ liệt kê tất cả các giá trị.
SQL Câu lệnh 1 UNION ALL SQL Câu lệnh 2
Sử dụng lệnh UNION ALL
Ví dụ:
Liệt kê tất cả các nhân viên ở Trung Quốc và Mỹ:
SELECT E_Name FROM Employees_China UNION ALL SELECT E_Name FROM Employees_USA
Kết quả
E_Name |
---|
Zhang, Hua |
Wang, Wei |
Carter, Thomas |
Yang, Ming |
Adams, John |
Bush, George |
Carter, Thomas |
Gates, Bill |
- Trang trước SQL Full Join
- Trang tiếp theo SQL Select Into