Mệnh đề UNION trong SQLite Mệnh đề/Toán tử UNION trong SQLite được sử dụng để kết hợp kết quả của hai hoặc nhiều lệnh SELECT mà không trả về bất cứ bản sao nào của bản ghi.. Để sử dụng
Trang 1Mệnh đề UNION trong SQLite
Mệnh đề/Toán tử UNION trong SQLite được sử dụng để kết hợp kết quả của hai hoặc
nhiều lệnh SELECT mà không trả về bất cứ bản sao nào của bản ghi
Để sử dụng UNION, mỗi lệnh SELECT phải có cùng số column đã chọn, cùng số biểu thức
của các cột, cùng kiểu dữ liệu, và chúng có cùng thứ tự, nhưng chúng không cần phải có
cùng độ dài
Cú pháp
Cú pháp cơ bản của UNION trong SQLite như sau:
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] UNION
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
Ở đây, condition đã cho có thể là bất kỳ biểu thức nào dựa theo yêu cầu của bạn
Ví dụ
Bạn theo dõi hai bảng sau, một là bảng COMPANY :
sqlite> select from COMPANY; ID NAME AGE
ADDRESS SALARY - - - -
- Paul 32 California 20000.0
Allen 25 Texas 15000.0 Teddy
23 Norway 20000.0 Mark 25
Rich-Mond 65000.0 David 27 Texas
85000.0 Kim 22 South-Hall 45000.0
James 24 Houston 10000.0 Bảng DEPARTMENT như sau: ID DEPT EMP_ID - -
- IT Billing 1 2 Engineering 2
3 Finance 7 4 Engineering 3 5
Finance 4 6 Engineering 5 7 Finance
6
Bây giờ, kết hợp hai bảng này trong lệnh SELECT cùng với mệnh đề 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;
Trang 2Ví dụ trên sẽ cho kết quả:
EMP_ID NAME DEPT - -
- Paul IT Billing Allen
Engineerin Teddy Engineerin Mark
Finance David Engineerin Kim
Finance James Finance Mệnh đề UNION ALL trong SQLite Toán tử UNION ALL được sử dụng để kết hợp nhiều kết quả của hai lệnh SELECT bao gồm cả các bản sao của các hàng Các qui tắc áp dụng cho UNION cũng áp dụng cho toán tử UNION ALL Cú pháp Cú pháp cơ bản của UNION ALL là như sau: SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] UNION ALL SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] Ở đây, condition đã cho có thể là bất kỳ biểu thức đã cung cấp nào dựa theo yêu cầu của bạn Ví dụ Bây giờ, kết hợp hai bảng ở trên trong lệnh SELECT với mệnh đề UNION ALL 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í dụ trên sẽ cho kết quả: EMP_ID NAME DEPT - -
- Paul IT Billing Allen
Engineerin Teddy Engineerin Mark
Finance David Engineerin Kim
Finance James Finance Paul
IT Billing Allen Engineerin Teddy
Engineerin Mark Finance David
Engineerin Kim Finance James Finance