Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

SQL Union - Hướng dẫn Toàn diện về Toán tử UNION

Trong khi xử lý dữ liệu trong cơ sở dữ liệu, chúng ta thường có xu hướng sử dụng các toán tử tập hợp trong SQL, để truy xuất dữ liệu theo yêu cầu của chúng ta bằng cách kết hợp hai hoặc nhiều câu lệnh SELECT. Trong bài viết này về SQL UNION, tôi sẽ thảo luận về toán tử UNION được sử dụng để truy xuất dữ liệu theo trình tự sau:

  • Toán tử SQL UNION là gì?
  • Cú pháp:
    1. Cú pháp UNION
    2. UNION ALL Cú pháp
  • Sự khác biệt giữa UNION và UNION ALL
  • Ví dụ về SQL UNION:
    1. Ví dụ về nhà điều hành UNION
    2. Ví dụ về toán tử UNION ALL
    3. UNION với Bí danh SQL
    4. UNION với mệnh đề WHERE
    5. UNION ALL với mệnh đề WHERE
    6. UNION với JOINS
    7. ĐOÀN KẾT TẤT CẢ với THAM GIA

Hãy để chúng tôi bắt đầu!

Toán tử SQL UNION là gì?

Như tên cho thấy, toán tử / mệnh đề này được sử dụng để kết hợp các kết quả của hai hoặc nhiều câu lệnh SELECT. Ở đây, mỗi câu lệnh SELECT được sử dụng trong câu lệnh UNION phải có cùng số cột theo cùng một thứ tự. Ngoài ra, tất cả các cột có trong câu lệnh SELECT phải có kiểu dữ liệu tương tự.

Mệnh đề UNION chỉ cung cấp các giá trị duy nhất làm đầu ra. Chỉ trong trường hợp, bạn muốn các giá trị trùng lặp, thì bạn phải sử dụng mệnh đề UNION ALL.

Tiếp tục trong bài viết này về SQL UNION, hãy để chúng tôi hiểu cú pháp.

Cú pháp SQL UNION

Cú pháp UNION

 CHỌN Column1, Column2, Column3, ..., ColumnN FROM Table1UNIONSELECT Column1, Column2, Column3, ..., ColumnN FROM Table2; 

UNION ALL Cú pháp

 CHỌN Column1, Column2, Column3, ..., ColumnN FROM Table1UNION ALLSELECT Column1, Column2, Column3, ..., ColumnN FROM Table2; 

Tiếp tục trong bài viết này, chúng ta hãy hiểu sự khác biệt giữa UNION và UNION ALL.

Sự khác biệt giữa UNION SQL và UNION ALL

UNION LIÊN KẾT TẤT CẢ
Kết hợp hai hoặc nhiều tập kết quả và không giữ các giá trị trùng lặp. Kết hợp hai hoặc nhiều tập hợp kết quả và giữ các giá trị trùng lặp.
  Cú pháp: CÔNG ĐOÀN 
  Cú pháp: ĐOÀN KẾT TẤT CẢ 

Tiếp theo, trong bài viết này về SQL UNION, chúng ta hãy hiểu các cách khác nhau để sử dụng toán tử này.

Ví dụ về UNION SQL và UNION ALL

Để bạn hiểu rõ hơn, tôi sẽ xem xét các bảng sau để hiển thị cho bạn các ví dụ khác nhau.

Bảng nhân viên

EmpID Tên EmpAge Thành phố Mã Bưu điện Quốc gia
1 Emma 23 Berlin 12109 Đức
2 Rahul 26 Mumbai 400015 Ấn Độ
3 Aayra 24 New York 10014 Hoa Kỳ
4 John 32 Luân Đôn E1 7AE Vương quốc Anh
5 Derek 29 New York 10012 Hoa Kỳ

Bảng dự án

ProjectID Tên Ngày làm việc Thành phố Mã Bưu điện Quốc gia
1 Dự án 1 10 Berlin 12109 Đức
2 Dự án 2 7 Mumbai 400015 Ấn Độ
3 Dự án 3 20 Delhi 110006 Ấn Độ
4 Dự án 4 15 Mumbai 400015 Ấn Độ
5 Dự án 5 28 Berlin 12109 Đức

Hãy để chúng tôi bắt đầu với các ví dụ.

Ví dụ về SQL UNION

Ví dụ về toán tử UNION

Viết truy vấn để truy xuất các thành phố riêng biệt từ bảng Nhân viên và Dự án.

 CHỌN THÀNH PHỐ TỪ NHÂN VIÊN 

Đầu ra:

Thành phố

Berlin

Delhi

Luân Đôn

Mumbai

New York

Ví dụ về UNION ALL Operator

Viết truy vấn để truy xuất các thành phố từ bảng Nhân viên và Dự án. Tại đây, các giá trị trùng lặp phải được bao gồm.

 CHỌN THÀNH PHỐ TỪ NHÂN VIÊN 

Đầu ra:

Thành phố

Berlin

Berlin

Berlin

Delhi

Luân Đôn

Mumbai

Mumbai

Mumbai

New York

New York

Tiếp theo trong bài viết này, hãy để chúng tôi hiểu cách sử dụng mệnh đề UNION với Bí danh SQL.

UNION với Bí danh SQL

Bí danh SQL được sử dụng để đặt tên tạm thời cho bảng hoặc cột. Vì vậy, hãy để chúng tôi viết một truy vấn để liệt kê tất cả các nhân viên và dự án duy nhất.

 CHỌN 'Nhân viên' AS Loại, Tên, Thành phố, Quốc giaFROM Nhân viênUNIONSELECT 'Dự án', Tên, Thành phố, Quốc gia Dự ánFROM; 

Đầu ra:

Loại Tên Thành phố Quốc gia
Nhân viên Emma Berlin Đức
Nhân viên Rahul Mumbai Ấn Độ
Nhân viên Aayra New York Hoa Kỳ
Nhân viên John Luân Đôn Vương quốc Anh
Nhân viên Derek New York Hoa Kỳ
Dự án Dự án 1 Berlin Đức
Dự án Dự án 2 Mumbai Ấn Độ
Dự án Dự án 3 Delhi Ấn Độ
Dự án Dự án 4 Mumbai Ấn Độ
Dự án Dự án 5 Berlin Đức

Mệnh đề UNION với WHERE

Viết truy vấn để truy xuất các thành phố Ấn Độ riêng biệt và mã bưu điện của chúng từ cả bảng Nhân viên và Dự án.

 CHỌN Thành phố, Mã Bưu điện, Quốc gia FROM Nhân viênWHERE Country ='India'UNIONSELECT Thành phố, Mã Bưu điện, Quốc gia FROM ProjectsWHERE Country =' India'ORDER THEO Thành phố; 

Đầu ra:

Thành phố Mã Bưu điện Quốc gia
Delhi 110006 Ấn Độ
Mumbai 400015 Ấn Độ

UNION ALL với mệnh đề WHERE

Viết truy vấn để truy xuất các thành phố ở Ấn Độ và mã bưu điện của họ từ cả bảng Nhân viên và Dự án, nơi cho phép các giá trị trùng lặp

 CHỌN Thành phố, Mã Bưu điện, Quốc gia FROM Nhân viênWHERE Country ='India'UNION ALLSELECT Thành phố, Mã Bưu điện, Quốc gia FROM ProjectsWHERE Country =' India'ORDER THEO Thành phố; 

Đầu ra:

Thành phố Mã Bưu điện Quốc gia
Delhi 110006 Ấn Độ
Mumbai 400015 Ấn Độ
Mumbai 400015 Ấn Độ
Mumbai 400015 Ấn Độ

Tiếp tục trong bài viết này, chúng ta hãy hiểu cách sử dụng UNION và UNION ALL mệnh đề với JOINS. JOINS trong SQL là các lệnh được sử dụng để kết hợp các hàng từ hai hoặc nhiều bảng, dựa trên một cột có liên quan giữa các bảng đó.

UNION với JOINS

Toán tử SQL UNION có thể được sử dụng với SQL JOINS để truy xuất dữ liệu từ hai bảng khác nhau. Tôi sẽ xem xét bảng sau cùng với bảng Nhân viên để làm ví dụ.

Bảng ProjectDetails

PID Ngày làm việc EmpID CostforProject
11 12 4 20000
22 16 3 35000
33 30 1 60000
44 25 3 45000
55 21 1 50000
 CHỌN EmpID, Tên, CostforProject TỪ Nhân viên TRÁI THAM GIA Dự án Chi tiết về Nhân viên.EmpID =ProjectDetails.EmpIDUNION CHỌN EmpID, Tên, CostforProject TỪ Nhân viên QUYỀN THAM GIA Dự án Chi tiết Trên Nhân viên.EmpID =ProjectDetails.EmpID; 

Đầu ra:

EmpID Tên CostforProject
1 Emma 60000
1 Emma 50000
2 Rahul NULL
3 Aayra 35000
3 Aayra 45000
4 John 20000
5 Derek NULL

LIÊN KẾT TẤT CẢ với THAM GIA

Viết truy vấn để truy xuất EmpID, Name và CostforProject từ bảng Nhân viên và ProjectDetails, nơi cho phép các giá trị trùng lặp.

 CHỌN EmpID, Tên, CostforProject TỪ Nhân viên TRÁI THAM GIA Dự án Chi tiết trên Nhân viên.EmpID =ProjectDetails. 

Đầu ra:

EmpID Tên CostforProject
1 Emma 60000
1 Emma 50000
2 Rahul NULL
3 Aayra 35000
3 Aayra 45000
4 John 20000
5 Derek NULL
4 John 20000
3 Aayra 35000
1 Emma 60000
3 Aayra 35000
1 Emma 50000

Đến phần cuối của bài viết này về SQL UNION. Tôi hy vọng bạn thích đọc bài viết này trên SQL UNION. Chúng tôi đã thấy các cách khác nhau để sử dụng lệnh UNION và UNION ALL để giúp bạn viết truy vấn. Nếu bạn muốn tìm hiểu thêm về MySQL và làm quen với cơ sở dữ liệu quan hệ nguồn mở này, hãy xem MySQL DBA của chúng tôi Đào tạo chứng nhận đi kèm với đào tạo trực tiếp do người hướng dẫn và trải nghiệm dự án thực tế. Khóa đào tạo này sẽ giúp bạn hiểu sâu về MySQL và giúp bạn đạt được thành thạo về chủ đề này.

Bạn có câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của "SQL UNION" và tôi sẽ liên hệ lại với bạn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiểu thời gian của người điều hành kế hoạch thực thi

  2. Cách các kế hoạch song song bắt đầu - Phần 1

  3. Sử dụng RStudio với Phiên bản Không phải Hệ thống của Trình quản lý Trình điều khiển unixODBC

  4. Phân tích cái chết của một nghìn cắt giảm khối lượng công việc

  5. SCD loại 3