ホームページ > データベース > mysql チュートリアル > IN 句を使用して SQL で複数の列をクエリするにはどうすればよいですか?

IN 句を使用して SQL で複数の列をクエリするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-28 12:02:10
オリジナル
484 人が閲覧しました

How Can I Use the IN Clause to Query Multiple Columns in SQL?

SQL の IN 句の複数の列のクエリ

特定の列の値のセットに基づいてデータベース テーブルをクエリする場合、 IN 句は便利なオプションです。ただし、複数の列を扱う場合、IN 句は使用できなくなります。

この課題を克服するには、通常のアプローチでは結合または EXISTS 句を使用します。ただし、これらの方法では、メイン テーブルと検索データの両方がデータベースに存在する必要があります。

列 (firstName、lastName、City) を含む User テーブルがあるユースケースを考えてみましょう。 (firstname, lastName) タプルのリストの都市を取得します。 2 つの解決策が考えられます:

解決策 1:

OR 条件を含む長い SELECT クエリを構築します:

SELECT city FROM user WHERE (firstName=x and lastName=y) or (firstName=a and lastName=b) or ...
ログイン後にコピー

解決策 2:

すべてを含むステージング テーブルを作成します。 firstName と lastName の値を取得し、User テーブルとステージング テーブルの間の結合を実行します。

代替解決策:

幸いなことに、 IN 句:

SELECT city FROM user WHERE (firstName, lastName) IN (('a', 'b'), ('c', 'd'));
ログイン後にコピー

Sqlfiddleデモ:

[Sqlfiddle Demo]()

このソリューションは、結合や EXISTS 句に頼ることなく、IN 句で複数の列をクエリする問題に効果的に対処します。これは、必要なデータを取得するための効率的かつ簡潔なアプローチを提供します。

以上がIN 句を使用して SQL で複数の列をクエリするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート