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

MySQLがFULLOUTERJOINSをサポートしていない理由はありますか?

    MySQLには、他のデータベースが持つ多くの機能が欠けています*。彼らにはかなり膨大なアイデアのバックログがあり、それらすべてを実装するのに十分な開発者がいないと思います。

    この機能はリクエストされました 2006年に、まだ実装されていません。 LEFTとRIGHTOUTERJOINをUNIONALLと組み合わせることで回避できるため、優先度は低いと思います。快適ではありませんが、それでうまくいきます。これを変更します:

    SELECT *
    FROM table1
    FULL OUTER JOIN table2
    ON table1.table2_id = table2.id
    

    これに:

    SELECT *
    FROM table1
    LEFT JOIN table2
    ON table1.table2_id = table2.id
    UNION ALL
    SELECT *
    FROM table1
    RIGHT JOIN table2
    ON table1.table2_id = table2.id
    WHERE table1.table2_id IS NULL
    

    * MySQLに公平を期すために、他の多くのデータベースにはない機能もいくつかあります。



    1. テーブルはCREATETEMPORARYTABLEを使用してメモリまたはディスクに作成されていますか?

    2. SSISパッケージを実行するステップをSQLServerエージェントジョブに作成するにはどうすればよいですか?

    3. SQL Serverでテーブルのすべてのチェックキーと外部キーの制約を有効にする方法(T-SQLの例)

    4. Where句のOracleDateTime?