mysql では、union all の使用法は「select ステートメント 1 Union all select ステートメント 2...」です。union all は複数の select ステートメントの結果を 1 つの結果セットに結合し、すべての Record return を結合できます。この効率は結合よりも高くなります。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
1.mysql Union 構文
mysql Union は、複数の select ステートメントの結果を結果セットに結合するために使用されます。構文は次のとおりです。
select column,......from table1 union [all] select column,...... from table2 ...
複数の select ステートメントでは、対応する列のフィールド属性が同じである必要があり、最初の select ステートメントで使用されたフィールド名が結果のフィールド名にも使用されます。
1.1 Union と Union all の違い
union を使用すると、mysql は結果セット内の重複レコードを削除しますが、union all を使用すると、mysql はすべてのレコードを返し、効率的です。組合よりも。
2. mysql Union の使用例
Union は、異なるデータ分類テーブルやデータ履歴テーブルなど、データに類似した 2 つ以上のテーブルをクエリするためによく使用されます。テストされた 2 つのテーブル;
2.1 UNION クエリ
を使用して 2 つのテーブルの記事 ID 番号とタイトルをクエリし、重複レコードを削除します。
SELECT aid,title FROM article UNION SELECT bid,title FROM blog返されるクエリ結果は次のとおりです: 2.2.UNION クエリ結果の説明重複レコードとは、上記の例のように、クエリが完全に繰り返されます。タイトルが同じでも ID 番号が異なる場合、異なるレコードとしてカウントされます。 最初の SELECT ステートメントで使用されたフィールド名は、上の例の aid など、結果のフィールド名にも使用されます。 各 SELECT ステートメントのフィールド名は異なっていてもかまいませんが、フィールド属性は一貫している必要があります。 3. UNION ALL クエリ を使用して 2 つのテーブルの記事 ID 番号とタイトルをクエリし、すべてのレコードを返します:
SELECT aid,title FROM article UNION ALL SELECT bid,title FROM blog返されるクエリ結果は次のとおりです。 : UNION ALL を使用すると、データが繰り返されているかどうかを判断せずに、各クエリが単純に結合されます。したがって、クエリ結果に重複データが存在しないことが確実な場合、または重複データを削除する必要がない場合は、UNION ALL を使用してクエリの効率を向上させる必要があります。 推奨学習:
以上がmysqlでのunion allの使用法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。