sql >> データベース >  >> RDS >> Mysql

与えられた構文がmysqlで有効なのはなぜですか?

    これは代替のUNION 最後のORDER BYを含む構文 。

    これは、2つの選択の間のそのような結合がどのように見えるかです:

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

    そして、これは1つの間のそのような結合です 選択は次のようになります:

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

    サブクエリとはまったく関係ありません。

    これはMySQLで文書化されていませんが、文法

    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. 不変の名前'MySql.Data.MySqlClient'のADO.NETプロバイダーが、マシンまたはアプリケーションの構成ファイルに登録されていません

    2. qt5.1.1 mysqlubuntuQMYSQLドライバーがロードされていません

    3. MySQLで列の文字セットと照合を設定する方法

    4. JavaMySQLプリペアドステートメントバッチ