SQL結合のため の集合演算

SQLのデータ結合

Maham Faisal Khan

Senior Content Developer, DataCamp

集合演算の種類

3つの図:UNION、INTERSECT、EXCEPT。 UNION図には、2つの円が重なっており、すべて緑色で塗りつぶされています。 INTERSECT図には2つの重なり合った円があり、重なっている部分だけが緑色で塗られています。 The EXCEPT 図では、左の円のうち右の円と共通する部分を除いた部分だけが緑色で示されています。

SQLのデータ結合

集合演算の種類

3つの図が描かれており、そのうち2つが塗りつぶされています。 UNIONの図のみがフォーカスされています。 The UNION 図は、緑で完全に塗られた 2 つの重なり合う円で構成されています。

SQLのデータ結合

UNIONの図

  • UNION:2つのテーブルを入力として受け取り、両方のテーブルからすべてのレコードを返す

左側と右側に2つのテーブルを示す図。 図の右側には、2つのテーブルに UNION 操作を行ったときに何が起こるかを示す図があります。

SQLのデータ結合

UNION ALLとは

  • UNION ALL:2つのテーブルを入力として受け取り、重複を含めて両方のテーブルからすべてのレコードを返す

左側と右側に2つのテーブルを示す図。 図の右側には、2つのテーブルに対して UNION ALL 操作を実行したときに何が起こるかを示す図があります。

SQLのデータ結合

UNION・UNION ALLの構文

UNIONの構文

SELECT *
FROM left_table
UNION
SELECT *
FROM right_table;

UNION ALLの構文

SELECT *
FROM left_table
UNION ALL
SELECT *
FROM right_table;
SQLのデータ結合

UNION・UNION ALLの構文

左側と右側に2つのテーブルを示す図。 図の右側には、2つのテーブルに対してUNION操作が実行されたときに何が起こるかを示す図があります。 左側と右側のテーブルは、同じフィールド型の同じ数の列が必要であることを矢印で示しています。

SQLのデータ結合

UNION・UNION ALLの構文

左側と右側に2つのテーブルを示す図。 図の右側には、2つのテーブルに対してUNION操作が実行されたときに何が起こるかを示す図があります。 矢印は、左側と右側のテーブルが同じフィールドタイプかつ同じ列数である必要があることを示しています。 右側には結果セットが表示され、エイリアスが付いていてもフィールド名は右側のテーブルから保持されることが強調されています。

SQLのデータ結合

君主テーブルに適用する

SELECT *
FROM monarchs;
| country        | continent   | monarch                 |
|----------------|-------------|-------------------------|
| Brunei         | Asia        | Hassanal Bolkiah        |
| Oman           | Asia        | Haitham bin Tarik       |
| Norway         | Europe      | Harald V                |
| United Kingdom | Europe      | Charles III             |
SQLのデータ結合

首相テーブルと君主テーブルを結合する

SELECT monarch AS leader, country
FROM monarchs
UNION
SELECT prime_minister, country
FROM prime_ministers
ORDER BY country, leader
LIMIT 10;
SQLのデータ結合

UNIONの結果

|-------------------------|----------------|
| leader                  | country        |
|-------------------------|----------------|
| Anthony Albanese        | Australia      |
| Hassanal Bolkiah        | Brunei         |
| Mostafa Madbouly        | Egypt          |
| Narendra Modi           | India          |
| Christopher Luxon       | New Zealand    |
| Harald V                | Norway         |
| Jonas Gahr Støre        | Norway         |
| Haitham bin Tarik       | Oman           |
| Shehbaz Sharif          | Pakistan       |
| Luís Montenegro         | Portugal       |
|-------------------------|----------------|
SQLのデータ結合

指導者データベースにUNION ALLを適用する

SELECT monarch AS leader, country
FROM monarchs
UNION ALL
SELECT prime_minister, country
FROM prime_ministers
ORDER BY leader, country
LIMIT 10;
SQLのデータ結合

UNION ALLの結果

| leader                  | country        |
|-------------------------|----------------|
| Anthony Albanese        | Australia      |
| Hassanal Bolkiah        | Brunei         |
| Hassanal Bolkiah        | Brunei         |
| Mostafa Madbouly        | Egypt          |
| Narendra Modi           | India          |
| Christopher Luxon       | New Zealand    |
| Harald V                | Norway         |
| Jonas Gahr Støre        | Norway         |
| Haitham bin Tarik       | Oman           |
| Haitham bin Tarik       | Oman           |
SQLのデータ結合

練習しましょう!

SQLのデータ結合

Preparing Video For Download...