IN 句に複数の列があるテーブルのクエリ
SQL では、IN 句を使用すると、セットに基づいてデータをフィルタリングできます特定の列の値。ただし、複数の列で IN 句を使用するのは難しい場合があります。
この制限を克服するために、結合や EXISTS 句の使用など、さまざまな解決策が提案されています。ただし、これらの方法では、メイン テーブルと検索データの両方がデータベース内に存在する必要があります。
代替ソリューション
メイン テーブルと検索データの両方がデータベース内に存在する場合データベース内で使用できない場合は、代替ソリューションを使用できます:
SELECT city FROM user WHERE (firstName='x' AND lastName='y') OR (firstName='a' AND lastName='b') OR ...
推奨ソリューション
推奨ソリューションは、特定のユースケースによって異なります。
複数の列を含む IN 句
ただし、IN 句を使用して複数の列をクエリするプロセスを簡素化する新しいソリューションが登場しました。
SELECT city FROM user WHERE (firstName, lastName) IN (('a', 'b'), ('c', 'd'));
このアプローチでは、IN 句のかっこ内に複数の列を指定できるため、より便利になります。値の組み合わせに基づいてデータを効率的にフィルタリングできます。
以上がIN 句で複数の列を使用してテーブルを効率的にクエリするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。