Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apa yang dikatakan standar SQL tentang tanda kurung dalam pernyataan SQL UNION/EXCEPT/INTERSECT?

Tidak perlu tanda kurung/kurung dalam pernyataan UNION.

MySQL adalah satu-satunya yang saya ketahui saat ini, yang memungkinkan Anda untuk mendefinisikan ORDER BY dan LIMIT klausa khusus untuk setiap kueri selama kueri diapit dalam tanda kurung -- SQL standar hanya mengizinkan ORDER BY untuk hasil akhir. GROUP BY dan HAVING klausa khusus untuk setiap kueri yang membentuk pernyataan UNION.

MySQL mendukung:

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

...yang tidak akan berakhir dengan kesedihan jika Anda ingin/perlu melakukan porting ke database lain.

SQL standar hanya mengizinkan:

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. Klausa MySQL LIMIT setara untuk SQL SERVER

  2. Pernyataan WHERE setelah UNION dalam SQL?

  3. Bagaimana cara mengatur batas waktu kueri ActiveRecord untuk mysql?

  4. Cara Memeriksa Ukuran Semua Tabel dalam Database di MySQL

  5. Butuh bantuan untuk unpivot di mysql dengan beberapa kolom tanggal