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

MySqlでIN句を使用する別のアプローチ

    あなたは私の答えに関連する質問を提起しましたここ

    以下のこのステートメントを使用した簡単な説明では、

    SELECT * FROM TableName WHERE column1 IN (1, 2, 3, 4)
    -- versus
    SELECT * FROM TableName WHERE 1 IN (column1, column2, column3, column4)
    

    最初のステートメントには、1つの列のみが含まれます 複数の値と比較されています 。

    SELECT  *
    FROM   TableName
    WHERE  column1 = 1 OR
           column1 = 2 OR
           column1 = 3 OR
           column1 = 4
    

    2番目のステートメントはAVALUE つまり、複数の列と比較して

    SELECT  *
    FROM   TableName
    WHERE  column1 = 1 OR
           column2 = 1 OR
           column3 = 1 OR
           column4 = 1
    

    これは少し異なります。

    アップデート1

    これがINの3番目の形式です 条項:




    1. Oracleで文字列の日付を日時に変換する

    2. 多対多の関係の続編を照会する方法は?

    3. MySQL:#126-テーブルのキーファイルが正しくありません

    4. oracle削除クエリに時間がかかりすぎる