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

Mengapa sintaks yang diberikan valid di mysql?

Ini adalah UNION alternatif sintaks dengan akhir ORDER BY .

Seperti inilah gabungan antara dua pilihan:

(SELECT ...)
UNION
(SELECT ...) ORDER BY ... LIMIT ...

Dan inilah persatuan antara satu pilih terlihat seperti:

(SELECT ...) ORDER BY ... LIMIT ...

Tidak terkait dengan subkueri sama sekali.

Ini tidak didokumentasikan di MySQL, tetapi jelas dari tata bahasa :

top_level_select_init:
        SELECT_SYM
        {
            Lex->sql_command= SQLCOM_SELECT;
        }
        select_init2
        | '(' select_paren ')' union_opt
        ;


/* Need select_init2 for subselects. */
union_select_init:
        SELECT_SYM select_init2
        | '(' select_paren ')' union_opt
        ;

...

union_opt:
        /* Empty */ { $$= 0; }
        | union_list { $$= 1; }
        | union_order_or_limit { $$= 1; }
        ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dapatkan baris dengan nilai tertinggi atau terendah dari GROUP BY

  2. MariaDB tidak dapat memulai setelah pembaruan:[Peringatan] Tidak dapat membuat file uji /home/mysql/beta.lower-test

  3. Apakah ada cara untuk menampilkan klausa WHERE hanya untuk satu bidang di MySQL?

  4. Pembaruan Pemicu MySQL dengan pilih dari tabel lain

  5. Bisakah saya menggunakan objek Django F() dengan rangkaian string?