sql >> Databáze >  >> RDS >> Mysql

Proč se UNION ALL se závorkami a bez nich chová jinak?

Je to proto, že používáte LIMIT.

Odkaz MySql říká, že pokud chcete použít ORDER BY nebo LIMIT pro jednotlivé výběry, musíte své výběry uzavřít do závorek.

Příklad (z reference MySQL):

Chcete-li použít ORDER BY nebo LIMIT na jednotlivý SELECT, umístěte klauzuli do závorek, které uzavírají SELECT:

(SELECT a FROM t1 WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2 ORDER BY a LIMIT 10);

Zdroj naleznete zde:http://dev.mysql.com /doc/refman/5.0/en/union.html

UPRAVIT: Změněn odkaz na odkaz , protože předchozí byl pro verzi 5.5 . Ale odpověď se nezměnila.




  1. PDO + MySQL vždy vrací řetězce, ale co MsSQL?

  2. Korupce MS Access Část 1:Běžné příčiny

  3. Jak mohu kombinovat AND a OR v mém příkazu SQL

  4. Funkce řetězce SQL Server (úplný seznam)