Toán tử UNION trong SQL

Related Articles

Hạn chế lớn nhất của câu lệnh SELECT có lẽ rằng là việc chỉ hoàn toàn có thể lấy một hoặc nhiều cột từ một bảng duy nhất. Tuy nhiên, chỉ với một từ khóa UNION, bạn trọn vẹn hoàn toàn có thể biến hóa điều này .

1. Ý nghĩa của UNION

Toán tử UNION được sử dụng để phối hợp tập hợp hiệu quả của hai hoặc nhiều câu lệnh SELECT. Mỗi câu lệnh SELECT với UNION phải có cùng số lượng cột, những cột phải có cùng kiểu tài liệu, những cột trong mỗi câu lệnh SELECT phải có cùng trật tự .

  • Cú pháp của UNION:

SELECT tên cột FROM bảng1

UNION

SELECT tên cột FROM bảng2

  • Cú pháp của UNION ALL:

SELECT tên cột FROM bảng1

UNION ALL

SELECT tên cột FROM bảng2

Lưu ý: Tên cột trong tập kết quả thường bằng tên cột trong câu lệnh SELECT đầu tiên.

2. Ví dụ UNION

Để triển khai ví dụ này, bạn cần nhập cơ sở tài liệu mẫu Northwind vào SQL Server Management Studio. Hãy xem bài viết hướng dẫn ngay dưới đây :

Tham khảo: Hướng dẫn tải và cài đặt dữ liệu mẫu Northwind trong SQL Server Management Studio

Câu lệnh SQL dưới đây sẽ lấy ra những thành phố ( chỉ giá trị khác nhau ) từ bảng Customers và Suppliers :

SELECT City FROM Customers

UNION

SELECT City FROM Suppliers

ORDER BY City ;

Lưu ý: Nếu một vài khách hàng hoặc nhà cung cấp có cùng thành phố, mỗi thành phố sẽ chỉ được liệt kê một lần, bởi vì toán tử UNION chỉ lấy các giá trị khác nhau. Để lấy tất cả giá trị, bao gồm cả những giá trị trùng lặp hãy sử dụng UNION ALL.

3. Ví dụ UNION ALL

Câu lệnh SQL dưới đây sẽ lấy ra những thành phố ( gồm có cả giá trị trùng lặp ) từ bảng Customers và Suppliers :

SELECT City FROM Customers

UNION ALL

SELECT City FROM Suppliers

ORDER BY City ;

Kết quả lúc này đã khởi đầu Open những giá trị giống nhau .

4. UNION với mệnh đề WHERE

Câu lệnh SQL dưới đây sẽ lấy ra những thành phố của nước Đức ( Country = ‘ Germany ‘ ) và chỉ giá trị khác nhau từ bảng Customers và Suppliers :

SELECT City, Country FROM Customers

WHERE Country = ‘ Germany ‘

UNION

SELECT City, Country FROM Suppliers

WHERE Country=’Germany’

ORDER BY City ;

5. UNION ALL với mệnh đề WHERE

Câu lệnh SQL dưới đây sẽ lấy ra những thành phố của nước Đức ( Country = ‘ Germany ‘ ) và gồm có cả giá trị trùng lặp từ bảng Customers và Suppliers :

SELECT City, Country FROM Customers

WHERE Country = ‘ Germany ‘

UNION ALL

SELECT City, Country FROM Suppliers

WHERE Country = ‘ Germany ‘

ORDER BY City ;

Kết quả là ở cột City đã có giá trị giống nhau Open .

6. Ví dụ UNION khác

Câu lệnh dưới đây sẽ liệt kê tổng thể người mua và nhà cung ứng :

SELECT ‘ Customer ‘ AS Type, ContactName, City, Country

FROM Customers

UNION

SELECT ‘ Supplier ‘, ContactName, City, Country

FROM Suppliers ;

“ AS Type ” truy vấn trên là một bí danh, nó cung ứng một cái tên trong thời điểm tạm thời cho cột trong truy vấn và sống sót trong suốt truy vấn. Vì thế, tất cả chúng ta đã tạo ra một cột có tên là “ Type ” để liệt kê thông tin liên hệ là “ Customer ” hay “ Supplier ” .

Tham khảo: Bí danh trong SQL

Như vậy là tất cả chúng ta đã đi qua những ví dụ về toán tử UNION, giờ đây, những bạn hoàn toàn có thể lấy nhiều cột tài liệu từ những bảng khác nhau trong cùng một truy vấn. Trong những nội dung tiếp theo, tất cả chúng ta sẽ liên tục với những hàm và toán tử còn lại trong SQL, đừng quên đón đọc tại BAC’s Blog .

Nguồn tham khảo:

https://www.w3schools.com/

Nhu cầu giảng dạy doanh nghiệp

BAC là đơn vị chức năng đào tạo và giảng dạy BA tiên phong tại Nước Ta. Đối tác chính thức của IIBA quốc tế. Ngoài những khóa học public, BAC còn có những khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được phong cách thiết kế riêng theo nhu yếu của doanh nghiệp, giúp doanh nghiệp xử lý những khó khăn vất vả và tư vấn tăng trưởng .

Tham khảo chương trình huấn luyện và đào tạo :

BAC – Biên soạn và tổng hợp nội dung

More on this topic

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Advertismentspot_img

Popular stories