Самоз'єднання

Об'єднання даних у SQL

Maham Faisal Khan

Senior Content Developer, DataCamp

Самоз'єднання

  • Самоз'єднання — це з'єднання таблиці із самою собою
  • Використовують, щоб порівнювати частини однієї таблиці

Таблиця prime_ministers з бази світових лідерів

Таблиця prime_ministers з бази світових лідерів: три стовпці — country, continent і prime_minister.

Об'єднання даних у SQL

Прем'єр-міністр, познайомтеся з прем'єр-міністром

SELECT 
    p1.country AS country1, 
    p2.country AS country2, 
    p1.continent
FROM prime_ministers AS p1
INNER JOIN prime_ministers AS p2

ON p1.continent = p2.continent LIMIT 10;
Об'єднання даних у SQL

Прем'єр-міністр, познайомтеся з прем'єр-міністром

| country1   | country2   | continent     |
|------------|------------|---------------|
| Egypt      | Egypt      | Africa        |
| Portugal   | Spain      | Europe        |
| Portugal   | Norway     | Europe        |
| Portugal   | Portugal   | Europe        |
| Vietnam    | Oman       | Asia          |
| Vietnam    | Brunei     | Asia          |
| Vietnam    | India      | Asia          |
| Vietnam    | Vietnam    | Asia          |
| Haiti      | Haiti      | North America |
| India      | Oman       | Asia          |
| India      | Brunei     | Asia          |
Об'єднання даних у SQL

Прем'єр-міністр, познайомтеся з прем'єр-міністром

SELECT 
    p1.country AS country1, 
    p2.country AS country2, 
    p1.continent
FROM prime_ministers AS p1
INNER JOIN prime_ministers AS p2
ON p1.continent = p2.continent 

AND p1.country <> p2.country;
Об'єднання даних у SQL

Таблиця прем'єр-міністрів після самоз'єднання

|------------|------------|-------------|
| country1   | country2   | continent   |
|------------|------------|-------------|
| Portugal   | Spain      | Europe      |
| Portugal   | Norway     | Europe      |
| Vietnam    | Oman       | Asia        |
| Vietnam    | Brunei     | Asia        |
| Vietnam    | India      | Asia        |
| India      | Oman       | Asia        |
| India      | Brunei     | Asia        |
| India      | Vietnam    | Asia        |
| Norway     | Spain      | Europe      |
| Norway     | Portugal   | Europe      |
|------------|------------|-------------|
Об'єднання даних у SQL

Давайте потренуємось!

Об'єднання даних у SQL

Preparing Video For Download...