UNIONの使用ほとんどの SQL クエリは、1 つ以上のテーブルからデータを返す単一の SELECT ステートメントで構成されます。 MySQL では、複数のクエリ (複数の SELECT ステートメント) を実行し、結果を単一のクエリ結果セットとして返すこともできます。これらの結合されたクエリは、多くの場合、ユニオンと呼ばれます。 複合クエリが必要となる状況は 2 つあります。
クエリと複数の WHERE 条件の組み合わせ: ほとんどの場合、同じテーブルで 2 つのクエリを組み合わせると、複数の WHERE 句条件を持つ単一のクエリと同じ作業が実行されます。 UNION 演算子を使用して、複数の SQL クエリを組み合わせることができます。必要なのは、各 SELECT ステートメントを指定して、各ステートメントの間にキーワード UNION を入れることだけです。 例えば: 価格が5以下のすべての商品のリストが必要で、サプライヤー1001と1002が製造したすべての商品も含めたいとします。もちろん、WHERE句を使用してこれを実現できますが、ここではUNIONを使用します。
製品からvend_id、prod_id、prod_priceを選択します。ここで、prod_price <= 5です。 SELECT vend_id、prod_id、prod_price FROM products WHERE vend_id IN (1001, 1002);
SELECT vend_id、prod_id、prod_price FROM products WHERE prod_price <= 5 UNION SELECT vend_id、prod_id、prod_price FROM products WHERE vend_id IN (1001, 1002);
製品からvend_id、prod_id、prod_priceを選択します。prod_price <= 5、またはvend_id IN (1001, 1002)です。 UNIONルール
重複行を含めるか除外するかUNION は、クエリ結果セットから重複する行を自動的に削除します。一致するすべての行を返す場合は、UNION ALL を使用します。 SELECT vend_id、prod_id、prod_price FROM products WHERE prod_price <= 5 UNION ALL SELECT vend_id、prod_id、prod_price FROM products WHERE vend_id IN (1001, 1002); 結合されたクエリ結果の並べ替えSELECT ステートメントの出力は、ORDER BY 句を使用してソートされます。UNION を使用してクエリを結合する場合、使用できる ORDER BY 句は 1 つだけです。最後の SELECT ステートメントの後に表示される必要があります。複数の ORDER BY 句は許可されません。 SELECT vend_id、prod_id、prod_price FROM products WHERE prod_price <= 5 UNION SELECT vend_id、prod_id、prod_price FROM products WHERE vend_id IN (1001, 1002) ORDER BY vend_id、prod_price; 上記はMySQL複合クエリの詳細な説明です。MySQL複合クエリの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: TCPパフォーマンスチューニングの実装原理とプロセス分析
>>: マークアップ言語 - テキストの CSS スタイルを指定する
HTML入門ハイパーテキスト マークアップ言語: ハイパーテキスト マークアップ言語ハイパーテキスト...
css-vars-ポニーフィルCSS 変数を使用して Web ページのスキニングを実現すると、互換...
今日、ある人がウェブサイト開発プロジェクトについて話をしてくれました。具体的な要件について話すと、「...
概要いずれかのデータベースに対する操作は他のデータベースに自動的に適用され、2 つのデータベースのデ...
目次1. 背景建築問題現象2. 分析プロセス接続プール不安に陥る雲を晴らして光を見よう3. 解決策I...
フロントエンドとバックエンドを分離し、nginxを使用してクロスドメインの問題を解決するフロントエン...
目次1. DATETIMEとTIMESTAMPの使用1. 類似点2. 相違点3. 選択2. varc...
この記事では、例を使用して、MySQL 外部キー制約の一般的な操作について説明します。ご参考までに、...
EXPLAIN ステートメントは、MySQL がステートメントを実行する方法に関する情報を提供します...
CSS にカスケード メカニズムがあるのはなぜですか? CSS では、同じ要素の特定のプロパティに同...
この記事では、JD.comのフラッシュセール効果を実現するためのJavaScriptの具体的なコード...
1. はじめにVagrant は、仮想マシン (VirtualBox) を構築および管理するためのツ...
1. provideとinjectの説明Provide と Inject により、ネストされたコンポ...
Linux システムのネットワーク接続を構成するのは難しい場合があります。幸いなことに、多くの新しい...
前回の記事では、Zabbix のパッシブ、アクティブ、Web 監視に関するトピックについて学習しまし...