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

Chuẩn SQL nói gì về dấu ngoặc đơn trong câu lệnh SQL UNION / EXCEPT / INTERSECT?

Không cần dấu ngoặc / ngoặc trong câu lệnh UNION.

MySQL là duy nhất tôi biết vào thời điểm này, cho phép bạn xác định ORDER BYLIMIT mệnh đề cụ thể cho từng truy vấn miễn là truy vấn được đặt trong dấu ngoặc - SQL tiêu chuẩn chỉ cho phép ORDER BY để biết kết quả cuối cùng. GROUP BYHAVING các mệnh đề cụ thể cho từng truy vấn tạo nên câu lệnh UNION'd.

MySQL hỗ trợ:

 (SELECT a.column
    FROM A_TABLE a
ORDER BY a.column DESC)
UNION
SELECT b.column
  FROM B_TABLE b

... điều này sẽ không khiến bạn phải đau lòng nếu bạn muốn / cần chuyển sang các cơ sở dữ liệu khác.

SQL tiêu chuẩn chỉ cho phép:

SELECT a.column
  FROM A_TABLE a
UNION
SELECT b.column
  FROM B_TABLE b
ORDER BY column DESC


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. xoay trong các truy vấn mysql

  2. Django Nhiều cơ sở dữ liệu Dự phòng cho Master nếu Slave bị lỗi

  3. Làm việc với MyISAM trong MySQL

  4. Câu lệnh chuẩn bị của MySql Connector chỉ chuyển 64 byte

  5. MYSQLI_NUM có nghĩa là gì và làm gì?