C'est l'alternative UNION
syntaxe avec un ORDER BY
final .
Voici à quoi ressemble une telle union entre deux sélections :
(SELECT ...)
UNION
(SELECT ...) ORDER BY ... LIMIT ...
Et c'est ce qu'une telle union entre un sélectionner ressemble à :
(SELECT ...) ORDER BY ... LIMIT ...
Pas du tout lié aux sous-requêtes.
Ceci n'est pas documenté dans MySQL, mais est évident à partir de le grammaire :
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; }
;