Toán tử UNION
trong SQLite
đượ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
mà không trả về bất kỳ hàng trùng lặp nào.
Để sử dụng UNION
, mỗi SELECT
phải có cùng số cột được chọn, cùng số biểu thức cột, cùng loại dữ liệu và cùng một thứ tự, nhưng chúng không cần thiết có cùng độ dài.
1. Cú pháp UNION trong SQLite
Sau đây là cú pháp cơ bản của toán tử UNION trong SQLite
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] UNION SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
Ở đây điều kiện đã cho có thể là bất kỳ biểu thức đã cho nào dựa trên yêu cầu của bạn.
Bài viết này được đăng tại [kiso.vn]
2. Ví dụ UNION trong SQLite
Giả sử chúng ta có bảng COMPANY
có các dòng dữ liệu sau:
sqlite> select * from COMPANY; ID NAME AGE ADDRESS SALARY ---------- -------------------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
Giả sử chúng ta cũng có bảng DEPARTMENT
có các dòng dữ liệu sau:
ID DEPT EMP_ID ---------- -------------------- ---------- 1 IT Billing 1 2 Engineering 2 3 Finance 7 4 Engineering 3 5 Finance 4 6 Engineering 5 7 Finance 6
Bây giờ chúng ta hãy join hai bảng này bằng cách sử dụng câu lệnh SELECT
cùng với toán tử UNION
như sau:
sqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.EMP_ID UNION SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.EMP_ID;
Kết quả của câu lệnh trên như sau:
EMP_ID NAME DEPT ---------- -------------------- ---------- 1 Paul IT Billing 2 Allen Engineering 3 Teddy Engineering 4 Mark Finance 5 David Engineering 6 Kim Finance 7 James Finance
3. Toán tử UNION ALL trong SQLite
Toán tử UNION ALL
được sử dụng để kết hợp các kết quả của hai câu lệnh SELECT
bao gồm các hàng trùng lặp.
Các quy tắc tương tự áp dụng cho UNION
cũng áp dụng cho UNION ALL
.
Cú pháp của toán tử UNION ALL
trong SQLite
như sau:
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] UNION ALL SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
Ở đây điều kiện đã cho có thể là bất kỳ biểu thức đã cho nào dựa trên yêu cầu của bạn.
4. Ví dụ UNION ALL trong SQLite
Bây giờ, chúng ta hãy join hai bảng COMPANY
và DEPARTMENT
đã đề cập ở trên trong câu lệnh SELECT như sau:
sqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.EMP_ID UNION ALL SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT ON COMPANY.ID = DEPARTMENT.EMP_ID;
Và kết quả của câu lệnh trên:
EMP_ID NAME DEPT ---------- -------------------- ---------- 1 Paul IT Billing 2 Allen Engineering 3 Teddy Engineering 4 Mark Finance 5 David Engineering 6 Kim Finance 7 James Finance 1 Paul IT Billing 2 Allen Engineering 3 Teddy Engineering 4 Mark Finance 5 David Engineering 6 Kim Finance 7 James Finance
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính1. Cú pháp UNION trong SQLite2. Ví dụ UNION trong...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính1. Cú pháp UNION trong SQLite2. Ví dụ UNION trong SQLite3. Toán tử UNION ALL trong SQLite4. Ví dụ UNION ALL trong SQLite1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính1. Cú pháp UNION trong SQLite2. Ví dụ UNION trong SQLite3. Toán tử UNION ALL trong SQLite4. Ví dụ UNION ALL trong SQLiteV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5....
Directory traversal vulnerabilities (phần 3)
Nội dung chính1. Cú pháp UNION trong SQLite2. Ví dụ UNION trong SQLite3. Toán tử UNION ALL trong SQLite4. Ví dụ UNION ALL trong SQLiteV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ...
Directory traversal vulnerabilities (phần 2)
Nội dung chính1. Cú pháp UNION trong SQLite2. Ví dụ UNION trong SQLite3. Toán tử UNION ALL trong SQLite4. Ví dụ UNION ALL trong SQLiteIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ...