sql >> Database teknologi >  >> RDS >> Mysql

Hvad siger SQL-standarden om parenteser i SQL UNION/EXCEPT/INTERSECT-sætninger?

Der er ikke behov for parenteser/parenteser i en UNION-erklæring.

MySQL er den eneste, jeg er opmærksom på i øjeblikket, hvilket giver dig mulighed for at definere ORDER BY og LIMIT klausuler, der er specifikke for hver forespørgsel, så længe forespørgslen er omgivet af parenteser -- standard SQL tillader kun en ORDER BY for det endelige resultat. GROUP BY og HAVING klausuler er specifikke for hver forespørgsel, der udgør UNION'd-sætningen.

MySQL understøtter:

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

...hvilket vil forårsage ingen ende på sorg, hvis du ønsker/skal portere til andre databaser.

Standard SQL tillader kun:

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


  1. SQL Server AlwaysOn ( Availability Group ) Arkitektur og trin for trin installation -1

  2. Sådan bruger du IF/ELSE-sætningen til at opdatere eller oprette ny xml-nodeindgang i Sql

  3. Sådan sikrer du MySQL:Anden del

  4. Optimerer MySQL underforespørgsler automatisk?