Hướng dẫn cách sử dụng UNION trong MySQL

Nội dung được viết bởi G-LEARNING

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é!

Union là gì? Cú pháp và cách sử dụng

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:

Union là gì 1
Union là gì 2

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.

Công thức của lệnh UNION

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”.

Công thức của lệnh UNION 2

Ý nghĩa của câu lệnh UNION trong truy vấn

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à:  

  • Số lượng cột phải giống nhau từ tất cả các truy vấn SELECT. Ví dụ column1 và column2.
  • Những cột tương ứng trong câu lệnh SELECT phải có sự tương đồng về kiểu dữ liệu (kiểu số, text, ngày tháng,…)
  • Từng cột trong câu lệnh SELECT phải được sắp xếp theo thứ tự tương ứng. Ví dụ column1 đến column2.

Ví dụ sử dụng câu lệnh UNION trong MySQL

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 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

câu lệnh UNION trong MySQL 1

Chạy đoạn mã trên chúng ta được kết quả sau

câu lệnh UNION trong MySQL 2

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:

Hướng dẫn câu lệnh DELETE trong MySQL và ví dụ minh họa

Hướng dẫn cách dùng mệnh đề WHERE trong 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!

/5 - ( bình chọn)

/5 - ( bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông