組み合わせクエリ-UNION

結合クエリ:MySQLでは、複数のクエリ(複数のSELECTステートメント)を実行し、結果を単一のクエリ結果セットとして返すことができます。この組み合わせとクエリは、ユニオンクエリまたは複合クエリにもなります

 

まず、組み合わせクエリUNIONを使用します

UNION演算子を使用して、複数のSQLクエリを組み合わせることができます。

例を挙げましょう。価格が5未満の商品のリストをクエリし、サプライヤ1001および1002によって生産されたすべてのアイテムを含めます。最初にWHERE句を使用して、この作業を完了します。

SELECT vend_id,prod_id,prod_price 
FROM products 
WHERE prod_price <= 5 OR vend_id IN(1001,1002)

次に、複合クエリを使用してこの機能を実現し、UNIONがMySQLに2つのSELECTステートメントを実行するように指示し、出力を結果セットに合成します

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)

 

 第二に、重複のキャンセルを含む行

UNIONは常に複数のWHERE句と同じ条件を完了するため、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)

 

 

3. UNIONルール 

  •  UNIONは2つ以上のSELECTステートメントで構成する必要があります
  • UNIONの各クエリには、同じ列、式、または集計関数を含める必要があります。しかし、それらの順序は異なる場合があります
  • 結合クエリ結果を並べ替える場合、結果セットには2つの並べ替え方法がないため、最後のSELECT句の後に配置する必要があります。
公開された156元の記事 ウォン称賛34 ビュー15万+

おすすめ

転載: blog.csdn.net/bbj12345678/article/details/105558609