Trong quá trình truy vấn dữ liệu bằng SQL, chúng ta thường áp dụng nhiều điều kiện khác nhau để lọc ra các kết quả mong muốn. Tuy nhiên, nếu bạn muốn kết hợp tất cả các kết quả truy vấn thành một tập hợp duy nhất, câu lệnh UNION trong SQL chính là công cụ bạn cần. Vậy UNION là gì? Cách sử dụng như nào? Cùng Gitiho tìm hiểu trong bài viết hôm nay nhé!
Truy vấn Union kết hợp các kết quả từ nhiều truy vấn SELECT trong SQL thành một tập kết quả hợp nhất.
Giả sử chúng ta có hai bảng như sau:
Yêu cầu bạn tạo một truy vấn UNION để kết hợp cả hai.
Để kết hợp kết quả từ hai bảng này, chúng ta sử dụng câu lệnh UNION kết hợp với từ khóa DISTINCT trong SQL. Việc sử dụng DISTINCT trong câu lệnh sẽ giúp bạn loại bỏ các bản ghi trùng lặp và trả về các kết quả duy nhất.
Công thức của lệnh UNION như sau:
SELECT column1, column2 FROM 'table1'
UNION DISTINCT
SELECT column1, column2 FROM 'table2'
Công thức trên sẽ giúp các hàng trùng lặp được loại bỏ và chỉ còn các hàng duy nhất của 2 bảng.
Lưu ý: Bạn có thể không cần thêm từ khóa DISTINCT khi sử dụng UNION vì bản thân UNION đã loại bỏ các bản ghi trùng lặp. Nếu bạn không muốn loại bỏ các bản ghi trùng lặp và muốn giữ tất cả các kết quả, bạn có thể sử dụng UNION ALL thay vì UNION.
Bây giờ bạn muốn kết hợp kết quả từ hai bảng, bao gồm cả những hàng trùng lặp thì bạn hãy sử dụng truy vấn UNION ALL trong SQL.
Ta có công thức sau:
select 'column1', 'column2' FROM 'table1'
UNION ALL
select 'column1', 'column2' FROM 'table2'
Kết quả các hàng trùng lặp đã được bao gồm và vì chúng ta sử dụng “All”.
Giả sử cơ sở dữ liệu của bạn có hai bảng chứa cùng một loại thông tin do nhầm lẫn. Bạn muốn kết hợp dữ liệu từ cả hai bảng này thành một bảng duy nhất và loại bỏ các bản ghi trùng lặp. Trong tình huống này, bạn có thể sử dụng câu lệnh UNION để thực hiện việc hợp nhất này.
Yêu cầu để có thể sử dụng câu lệnh UNION là:
Yêu cầu bạn kết hợp các bản ghi của các trường dữ liệu:
Member_number và full_names từ bảng Member
Với
movie_id và tiêu đề từ bảng movie
Chúng ta có thể sử dụng truy vấn sau đây
Chạy đoạn mã trên chúng ta được kết quả sau
Ngoài ra bạn có thể truy cập ngay https://gitiho.com/ để tìm hiểu thêm nhiều các khóa học hay về tin học văn phòng: Excel, Power Point, lập trình VBA, lập trình C#, SQL, thiết kế đồ họa… Có rất nhiều ưu đãi hấp dẫn đang chờ bạn.
Các bạn có thể tham khảo thêm các bài viết khác về cách sử dụng MySQL:
Khóa học giúp bạn làm chủ ngôn ngữ truy vấn dữ liệu phổ biến SQL từ cơ bản đến nâng cao. Từ đó có thể tự tin xây dựng, truy vấn, và tối ưu hóa các cơ sở dữ liệu phức tạp, hỗ trợ phân tích, làm báo cáo và ra quyết định kinh doanh một cách hiệu quả.
Đăng ký học thử để trải nghiệm ngay hôm nay!