Union - Gộp data của 2 hay câu select lại với nhau - data không trùng

Đôi khi chúng ta cần gôm dữ liệu của 2 hoặc nhiều bảng lại với nhau bằng cách chỉ chạy 1 lần script SQL mà thôi. để thực hiện yêu cầu đó, chúng ta sử dụng UNION.

UNION : gộp data của 2 câu sql lại với nhau trả về kết quả không trùng data tương tự như SELECT DISTINCT

Cú pháp: 

[ Câu lệnh SQL 1]

UNION

[Câu lệnh SQL 2]

Điều kiện bắt buột là số lượng cột trong câu lệnh SQL 1 và 2 phải bằng nhau, và phải giống nhau về kiểu dữ liệu của từng cột.

Vd: 

bảng tb_1 có dữ liệu

ten  nam_sinh

--------------

AA   1987

BB   1988 

CC   1989     

bảng tb_2 có dữ liệu

ten    nam_hoc

-------------

EE    2000

FF    1988 

DD   1999

Chúng ta muốn tìm được có tất cả bao nhiêu năm không trùng trong 2 bảng tb_1 và tb_2 như sau:

Select nam_sinh from tb_1

Union 

Select nam_hoc from tb_2

kết quả đạt được

nam_sinh

---------

1987

1988

1989

2000

1999

Năm 1988, có ở 2 bảng nhưng chỉ lấy ra 1 lần , chúng ta có được kết quả data không trùng lặp

Previous
Next Post »