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

Toán tử UNION trong SQLite

Trong SQLite, UNION toán tử tạo một phức hợp SELECT câu lệnh trả về kết quả của SELECT trái và phải các câu lệnh. Nói cách khác, nó kết hợp các kết quả từ hai truy vấn thành một tập kết quả duy nhất.

Ví dụ

Giả sử chúng ta có các bảng sau:

SELECT * FROM Teachers;
SELECT * FROM Students;

Kết quả:

TeacherId  TeacherName
---------  -----------
1          Warren     
2          Ben        
3          Cathy      
4          Cathy      
5          Bill       
6          Bill       

StudentId  StudentName
---------  -----------
1          Faye       
2          Jet        
3          Spike      
4          Ein        
5          Warren     
6          Bill       

Chúng ta có thể sử dụng UNION toán tử để trả về tất cả giáo viên và học sinh:

SELECT TeacherName FROM Teachers
UNION
SELECT StudentName FROM Students;

Kết quả:

TeacherName
-----------
Ben        
Bill       
Cathy      
Ein        
Faye       
Jet        
Spike      
Warren     

Theo mặc định, UNION toán tử áp dụng ngầm một DISTINCT hoạt động. Nói cách khác, nó chỉ trả về các giá trị riêng biệt theo mặc định. Vì vậy, các kết quả trên chỉ chứa một trong số Warren, Cathy và Bill. Điều này là mặc dù thực tế là các bảng kết hợp thực sự chứa hai Warrens, hai Cathys và ba Bills (có hai giáo viên tên là Cathy, một giáo viên và một khách hàng tên là Warren, và hai người tên là Bill, cũng như một học sinh tên là Bill).

Bao gồm các bản sao

Chúng ta có thể sử dụng ALL từ khóa để bao gồm các giá trị trùng lặp trong kết quả:

SELECT TeacherName FROM Teachers
UNION ALL
SELECT StudentName FROM Students;

Kết quả:

TeacherName
-----------
Warren     
Ben        
Cathy      
Cathy      
Bill       
Bill       
Faye       
Jet        
Spike      
Ein        
Warren     
Bill       

Lần này chúng ta có mười hai hàng thay vì tám hàng như trong ví dụ đầu tiên.

Chúng ta có thể thấy rằng cả hai Cathys đã được trả lại và cả ba Hóa đơn đã được trả lại.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.util.MissingFormatArgumentException:Định dạng chỉ định:s

  2. Lấy một cột từ .sqlite chứa nhiều bảng với nhiều cột

  3. Cách phát triển một ứng dụng Android gốc ngoại tuyến ưu tiên

  4. Lấy ID của một bản ghi mới được chèn vào cơ sở dữ liệu từ Uri trả về

  5. Nhận vị trí của một ký tự trong một chuỗi trong SQLite với Guid ()