Обʼєднання

Для виведення всіх даних з усіх таблиць можна використовувати операцію JOIN. Ось приклад запиту, який вибирає всі дані з таблиць books, authors, categories та books_authors:

%%sql
SELECT
    books.id AS book_id,
    books.title AS book_title,
    books.year,
    authors.id AS author_id,
    authors.name AS author_name,
    categories.id AS category_id,
    categories.name AS category_name
FROM
    books
JOIN
    books_authors ON books.id = books_authors.book_id
JOIN
    authors ON books_authors.author_id = authors.id
LEFT JOIN
    categories ON books.category_id = categories.id;
Loading...

Пояснення запиту:

  • SELECT визначає, які стовпці ми хочемо вибрати та вивести.
  • У блоку FROM перераховані таблиці, які ми об’єднуємо. Ми використовуємо JOIN для об’єднання таблиць books, books_authors та authors за їхніми відповідними ключами (id та book_id, author_id).
  • LEFT JOIN використовується для об’єднання таблиці categories, оскільки не всі книги можуть мати категорію (оскільки category_id може бути NULL).
  • В кожному JOIN або LEFT JOIN вказані умови об’єднання (за якими полями).
  • Кожному стовпцю присвоєно псевдонім для зручності (наприклад, books.id AS book_id).

Цей запит виведе всі дані з усіх вказаних таблиць, включаючи інформацію про книги, авторів, категорії та зв’язок між книгами та авторами. Пам’ятайте, що структура запиту може змінюватися в залежності від вашої конкретної бази даних та вимог до виводу даних.

Для того щоб краще зрозуміти як працюють обʼєднання подивіться зображення нижче

Види SQL обʼєднань

Figure 1:Види SQL обʼєднань

Тепер ви знаєте основи SQL та можете не тільки додавати і змінювати дані, а і виводити їх у необхідному для вас вигляді.