Teorie množin pro SQL JOIN

Joining Data in SQL

Maham Faisal Khan

Senior Content Developer, DataCamp

Vennovy diagramy a teorie množin

Obrázek zobrazující tři Vennovy diagramy: UNION, INTERSECT a EXCEPT. Diagram UNION má dva překrývající se kruhy, oba plně zelené. Diagram INTERSECT má dva překrývající se kruhy, zeleně je pouze průnik. Diagram EXCEPT má zeleně pouze část levého kruhu, která se nepřekrývá s pravým.

Joining Data in SQL

Vennovy diagramy a teorie množin

Obrázek zobrazující tři Vennovy diagramy, přičemž dva jsou ztmaveny. V popředí je pouze diagram UNION. Diagram UNION má dva překrývající se kruhy, oba plně zelené.

Joining Data in SQL

Diagram UNION

  • UNION vezme dvě tabulky a vrátí všechny záznamy z obou

Diagram zobrazující dvě tabulky, levou a pravou. Na pravé straně je znázorněno, co se stane při operaci UNION.

Joining Data in SQL

Diagram UNION ALL

  • UNION ALL vezme dvě tabulky a vrátí všechny záznamy z obou, včetně duplicit

Diagram zobrazující dvě tabulky, levou a pravou. Na pravé straně je znázorněno, co se stane při operaci UNION ALL.

Joining Data in SQL

Syntaxe UNION a UNION ALL

Syntaxe UNION

SELECT *
FROM left_table
UNION
SELECT *
FROM right_table;

Syntaxe UNION ALL

SELECT *
FROM left_table
UNION ALL
SELECT *
FROM right_table;
Joining Data in SQL

Syntaxe UNION a UNION ALL

Diagram zobrazující dvě tabulky, levou a pravou. Na pravé straně je znázorněno, co se stane při operaci UNION. Šipky upozorňují, že obě tabulky musí mít stejný počet sloupců stejných datových typů.

Joining Data in SQL

Syntaxe UNION a UNION ALL

Diagram zobrazující dvě tabulky, levou a pravou. Na pravé straně je znázorněno, co se stane při operaci UNION. Šipky upozorňují, že obě tabulky musí mít stejný počet sloupců stejných datových typů. Výsledná sada ukazuje, že název pole je převzat z pravé tabulky, i pokud byl použit alias.

Joining Data in SQL

Tabulka monarchů

SELECT *
FROM monarchs;
| country        | continent   | monarch                 |
|----------------|-------------|-------------------------|
| Brunei         | Asia        | Hassanal Bolkiah        |
| Oman           | Asia        | Haitham bin Tarik       |
| Norway         | Europe      | Harald V                |
| United Kingdom | Europe      | Charles III             |
Joining Data in SQL

Premiéři a monarchové

SELECT monarch AS leader, country
FROM monarchs
UNION
SELECT prime_minister, country
FROM prime_ministers
ORDER BY country, leader
LIMIT 10;
Joining Data in SQL

Výsledek 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       |
|-------------------------|----------------|
Joining Data in SQL

UNION ALL s vedoucími představiteli

SELECT monarch AS leader, country
FROM monarchs
UNION ALL
SELECT prime_minister, country
FROM prime_ministers
ORDER BY leader, country
LIMIT 10;
Joining Data in SQL

Výsledek 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           |
Joining Data in SQL

Pojďme procvičovat!

Joining Data in SQL

Preparing Video For Download...