ホームページ >毎日のプログラミング >mysqlの知識 >mysqlでのunionとunion allの使用法

mysqlでのunionとunion allの使用法

下次还敢
下次还敢オリジナル
2024-04-27 04:09:151219ブラウズ

MySQL の UNION と UNION ALL は、結果セットをマージするために使用されます。違いは、重複行の処理方法にあります。 UNION は重複した行を削除しますが、UNION ALL はすべての行を保持します。 UNION 構文: SELECT カラム 1、カラム 2、...FROM テーブル 1 UNION SELECT カラム 1、カラム 2、...FROM テーブル 2; UNION ALL 構文: SELECT カラム 1、カラム 2、...FROM テーブル 1 UNION ALL SELECT カラム 1、カラム 2、...FROM テーブル 2;

mysqlでのunionとunion allの使用法

MySQL での UNION および UNION ALL の使用MySQL では、UNION と UNION ALL は 2 つ以上の SELECT ステートメントの結果セットをマージするために使用される演算子です。それらの主な違いは、重複行の処理方法です。

UNION

UNION 演算子は、結果セットをマージするときに重複行を自動的に削除します。各結果セットから一意の行のみを返します。

UNION ALL

UNION ALL 演算子は、結果セットをマージするときに重複行を含むすべての行を保持します。 2 つ以上の結果セット内のすべての行を単純に連結します。

使用法

UNION および UNION ALL の構文は次のとおりです:

<code class="sql">SELECT 列1, 列2, ...
FROM 表1
UNION
SELECT 列1, 列2, ...
FROM 表2;

SELECT 列1, 列2, ...
FROM 表1
UNION ALL
SELECT 列1, 列2, ...
FROM 表2;</code>

Students

Teachers:<pre class="brush:php;toolbar:false">&lt;code class=&quot;sql&quot;&gt;CREATE TABLE Students ( id INT NOT NULL PRIMARY KEY, name VARCHAR(255) NOT NULL ); CREATE TABLE Teachers ( id INT NOT NULL PRIMARY KEY, name VARCHAR(255) NOT NULL );&lt;/code&gt;</pre> という 2 つのテーブルがあるとします。UNION と UNION ALL を使用して、これらの

name

列を結合できます。 2 つのテーブル : <pre class="brush:php;toolbar:false">&lt;code class=&quot;sql&quot;&gt;-- 使用 UNION 移除重复行 SELECT name FROM Students UNION SELECT name FROM Teachers; -- 使用 UNION ALL 保留所有行,包括重复行 SELECT name FROM Students UNION ALL SELECT name FROM Teachers;&lt;/code&gt;</pre>

Note

UNION と UNION ALL の結果セットには同じ数の列が必要で、対応する列のデータ型は次のとおりです。互換性がある。
  1. UNION ALL を使用する場合は、重複データによって結果が汚染されないよう注意する必要があります。
  2. UNION はマージ前に重複排除を必要としないため、パフォーマンスが向上します。

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

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