Об'єднання оцінок фільмів із даними про клієнтів

Прийняття рішень на основі даних у SQL

Irene Ortner

Data Scientist at Applied Statistics

JOIN

Прийняття рішень на основі даних у SQL

LEFT JOIN

  • LEFT JOIN — це зовнішнє об'єднання.
  • Зберігає всі рядки з лівої таблиці та підбирає відповідні з правої.
  • Використовуйте ідентифікатор, щоб визначити, які рядки двох таблиць можна зіставити.
Прийняття рішень на основі даних у SQL

Надання таблиці короткої назви

SELECT *
FROM customers AS c
WHERE c.customer_id = 1;
Прийняття рішень на основі даних у SQL

Таблиці для LEFT JOIN

Ліва таблиця: renting_selected

| renting_id | customer_id | rating |
|------------|-------------|--------|
| 518        | 1           | `null` |
| 203        | 2           | 6      |
| 478        | 4           | 7      |
| 292        | 4           | 8      |
| 477        | 5           | `null` |
| 400        | 6           | `null` |

Права таблиця: customers_selected

| customer_id | name               | gender |
|-------------|--------------------|--------|
| 1           | Robert Bohm        | male   |
| 2           | Wolfgang Ackermann | male   |
| 3           | Daniela Herzog     | female |
| 4           | Julia Jung         | female |
Прийняття рішень на основі даних у SQL

Приклад LEFT JOIN

SELECT *
FROM renting_selected AS r
LEFT JOIN customers_selected AS c
ON r.customer_id = c.customer_id;
| renting_id | customer_id | rating | customer_id | name               | gender |
|------------|-------------|--------|-------------|--------------------|--------|
| 518        | 1           | `null` | 1           | Robert Bohm        | male   |
| 203        | 2           | 6      | 2           | Wolfgang Ackermann | male   |
| 478        | 4           | `null` | 4           | Julia Jung         | female |
| 292        | 4           | 8      | 4           | Julia Jung         | female |
| 477        | 5           | 7      | `null`      | `null`             | `null` |
Прийняття рішень на основі даних у SQL

Більше ніж один JOIN

SELECT m.title, 
       c.name
FROM renting AS r
LEFT JOIN movies AS m
ON r.movie_id = m.movie_id
LEFT JOIN customers AS c
ON r.customer_id = c.customer_id;
Прийняття рішень на основі даних у SQL

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

Прийняття рішень на основі даних у SQL

Preparing Video For Download...