ホームページ >データベース >mysql チュートリアル >mysqlでのunionの使用法は何ですか

mysqlでのunionの使用法は何ですか

WBOY
WBOYオリジナル
2022-03-01 15:57:4810091ブラウズ

mysql では、union を使用して、複数の select ステートメントの結果を 1 つの結果セットに結合し、結果セット内の重複データを削除します。構文は、「select columns,...from table1 Union select columns,. . .テーブル2より」。

mysqlでのunionの使用法は何ですか

このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。

mysql での Union の使用法とは何ですか

1.mysql Union の構文

mysql Union は、複数の選択からのデータを結合するために使用されます。ステートメント 結果は結果セットに結合されます。構文は次のとおりです。

select  column,......from table1
union [all]
select  column,...... from table2
...

複数の select ステートメントでは、対応する列のフィールド属性が同じである必要があり、最初の select ステートメントで使用されたフィールド名が結果のフィールド名にも使用されます。

1.1 Union と Union all の違い

union を使用すると、mysql は結果セット内の重複レコードを削除しますが、union all を使用すると、mysql はすべてのレコードを削除します。が返され、結合よりも効率が高くなります。

2. mysql ユニオンの使用例

ユニオンは通常、異なるデータ分類テーブルやデータ履歴テーブルなど、データに類似した 2 つ以上のテーブルをクエリするために使用されます。 、テストに使用される 2 つのテーブルは次のとおりです。

mysqlでのunionの使用法は何ですか

2.1 UNION クエリ

を使用して、2 つのテーブルの記事 ID 番号をクエリします。テーブルとタイトルを削除し、重複レコードを削除します:

SELECT aid,title FROM article UNION SELECT bid,title FROM blog

返されるクエリ結果は次のとおりです:

mysqlでのunionの使用法は何ですか

2.2.UNION クエリ結果の説明

重複レコードとは、クエリ内の各フィールドが完全に繰り返されているレコードを指します。上記の例のように、タイトルが同じで ID 番号が異なる場合は、別のレコードとしてカウントされます。

最初の SELECT ステートメントで使用されたフィールド名は、上の例の aid など、結果のフィールド名にも使用されます。

各 SELECT ステートメントのフィールド名は異なっていてもかまいませんが、フィールド属性は一貫している必要があります。

3. UNION ALL クエリ

を使用して 2 つのテーブルの記事 ID 番号とタイトルをクエリし、すべてのレコードを返します:

SELECT aid,title FROM article UNION ALL SELECT bid,title FROM blog

返されるクエリ結果は次のとおりです。 :

mysqlでのunionの使用法は何ですか

UNION ALL を使用する場合は、データが繰り返されているかどうかを判断せずに、さまざまなクエリを単純に組み合わせるだけです。したがって、クエリ結果に重複データが存在しない、または重複データを削除する必要がないと判断される場合は、UNION ALL を使用してクエリ効率を向上させる必要があります。

推奨学習: mysql ビデオ チュートリアル

以上がmysqlでのunionの使用法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。