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

MySQLにJOIN/UNIONを使用せずにWHEREIN句から重複を返すように強制しますか?

    SQLにとってかなり重要なJOINを禁止したい理由がわかりません。これは、関数言語での関数呼び出しを禁止するようなものです。

    これを解決する良い方法は、返したいIDを含む結果セットを作成して結合することです。これを行う1つの方法は次のとおりです。

    SELECT Table1.*
    FROM Table1
    JOIN (SELECT 1 AS id
          UNION ALL SELECT 2
          UNION ALL SELECT 3
          UNION ALL SELECT 4
          UNION ALL SELECT 5
          UNION ALL SELECT 1
          UNION ALL SELECT 2
          UNION ALL SELECT 5
          UNION ALL SELECT 5) AS T1
    ON Table1.id = T1.id
    

    この方法を検討したかどうかわかりませんか?恐れているような問題はありません。

    結合を禁止する場合、ストアドプロシージャを使用しない限り、これを行うことはできません。これは、結合よりも悪いと思います。




    1. SQL Serverのトリガーの代わりに、SCOPE_IDENTITYを失いますか?

    2. 'xml'をSQLServerにインポートします

    3. varchar(255)vs tinytext / tinyblobおよびvarchar(65535)vs blob / text

    4. mysqliの複数のクエリ-変数を設定するとブールエラーが発生します/これをスキップする方法は?