ホームページ >データベース >mysql チュートリアル >SQL IN 句を使用して複数の列を効率的にクエリする方法
IN 句を使用して複数の列に基づくテーブルに対してクエリを実行する場合、複数の OR 条件を含む単一のクエリを構築するのは面倒になります。代わりに、次のアプローチを利用できます。
最も直接的な解決策は、IN 句のタプル バージョンを使用することです。たとえば、firstName、lastName、および City 列を持つ User テーブルがある場合、(firstName, lastName) タプルのリストの都市を取得するクエリは次のようになります:
SELECT City FROM User WHERE (firstName, lastName) IN (('a', 'b'), ('c', 'd'));
もう 1 つのオプションは、すべての可能な (firstName、lastName) の組み合わせを使用してステージング テーブルを作成し、このテーブルと User テーブルの間で結合を実行することです。ただし、この方法には追加のセットアップとメンテナンスが必要であり、大規模なデータセットには理想的ではない可能性があります。
一般的なシナリオでは、そのシンプルさと柔軟性により、タプル IN 句のアプローチが推奨されます。これにより、複雑なクエリの構築やテーブルの追加が不要になります。ただし、検索データがデータベースの外部に保存されている場合は、結合やサブクエリなどの代替方法が必要になる場合があります。
以上がSQL IN 句を使用して複数の列を効率的にクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。