Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Об'єднання Двох Таблиць | Об'єднання Таблиць
Розширений Рівень SQL

bookОб'єднання Двох Таблиць

Ми привернули увагу компанії, яка володіє невеликим інтернет-магазином. У них є 2 таблиці, які пов'язані між собою. Перша таблиця містить інформацію про товари, що продаються в інтернет-магазині.

Ось як виглядає таблиця product:

Друга таблиця містить категорії товарів на сайті разом із коротким описом для кожної категорії.

Ось як виглядає таблиця category:

Наше перше завдання — об'єднати ці дві таблиці, щоб дізнатися, скільки товарів у кожній категорії. Для цього використаємо оператор JOIN.

Перш ніж перейти до завдання, розглянемо, що таке оператор JOIN і як він працює.

Note
Визначення

JOIN у SQL — це операція, яка об'єднує рядки з двох або більше таблиць на основі пов'язаного стовпця між ними. JOIN дозволяє отримувати дані з кількох таблиць в одному запиті, що спрощує аналіз і обробку пов'язаних даних.

Щоб об'єднати дві таблиці, вони повинні мати спільний стовпець. Розглянемо, як працює JOIN, використовуючи таблиці employees та department. Їхній спільний стовпець — це employees.department і departments.name.

Note
Примітка

При записі стовпців із цих таблиць починайте з назви таблиці, додайте крапку, а потім назву стовпця. Це допомагає зберігати код зрозумілим, особливо коли в таблицях є стовпці з однаковими назвами. Це точно вказує SQL, з якої таблиці і який стовпець мається на увазі.

Ось завдання: отримати загальну зарплату для працівників у кожному типі відділу (tech/non-tech).

Запит для виконання цього завдання виглядатиме так:

1234
SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
copy

Розглянемо, як ми використали JOIN у нашому запиті:

  1. У частині SELECT перелічуємо стовпці, які потрібні з обох таблиць, обов'язково вказуючи назву таблиці для ясності;
  2. У частині JOIN вказуємо таблицю для об'єднання та спільний стовпець, який їх пов'язує. Тут це employees.department і department.name;
  3. Далі групуємо дані за type, щоб обчислити загальну зарплату за допомогою функції SUM().

Якщо це здається складним, ось проста синтаксична конструкція для використання JOIN:

SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Note
Примітка

На відміну від оператора UNION, оператор JOIN дозволяє об'єднувати цілі таблиці, а не лише спільні стовпці. Крім того, при використанні JOIN немає потреби у підзапитах, як це потрібно для UNION.

Завдання

Swipe to start coding

Потрібно об'єднати дві таблиці: category та product. Спільними стовпцями для цих таблиць є product.category_id та category.id.

Ваше завдання — знайти загальну кількість продуктів у кожній категорії. Для цього необхідно обчислити суму стовпця product.amount.

Використовуйте псевдонім total_amount для цього стовпця. Наприкінці запиту відсортуйте результат за стовпцем total_amount у порядку зростання.

У відповіді повинно бути 2 стовпці: category.name та total.amount.

Коротка інструкція

  • Отримайте стовпець category.name та суму стовпця product.amount з таблиці product.
  • Присвойте псевдонім total_amount другому стовпцю.
  • Об'єднайте таблицю category за допомогою оператора JOIN.
  • Зіставте таблиці за спільним стовпцем product.category_id = category.id.
  • Згрупуйте результати за category.name.
  • Відсортуйте результати за total_amount.

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 1
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

close

bookОб'єднання Двох Таблиць

Свайпніть щоб показати меню

Ми привернули увагу компанії, яка володіє невеликим інтернет-магазином. У них є 2 таблиці, які пов'язані між собою. Перша таблиця містить інформацію про товари, що продаються в інтернет-магазині.

Ось як виглядає таблиця product:

Друга таблиця містить категорії товарів на сайті разом із коротким описом для кожної категорії.

Ось як виглядає таблиця category:

Наше перше завдання — об'єднати ці дві таблиці, щоб дізнатися, скільки товарів у кожній категорії. Для цього використаємо оператор JOIN.

Перш ніж перейти до завдання, розглянемо, що таке оператор JOIN і як він працює.

Note
Визначення

JOIN у SQL — це операція, яка об'єднує рядки з двох або більше таблиць на основі пов'язаного стовпця між ними. JOIN дозволяє отримувати дані з кількох таблиць в одному запиті, що спрощує аналіз і обробку пов'язаних даних.

Щоб об'єднати дві таблиці, вони повинні мати спільний стовпець. Розглянемо, як працює JOIN, використовуючи таблиці employees та department. Їхній спільний стовпець — це employees.department і departments.name.

Note
Примітка

При записі стовпців із цих таблиць починайте з назви таблиці, додайте крапку, а потім назву стовпця. Це допомагає зберігати код зрозумілим, особливо коли в таблицях є стовпці з однаковими назвами. Це точно вказує SQL, з якої таблиці і який стовпець мається на увазі.

Ось завдання: отримати загальну зарплату для працівників у кожному типі відділу (tech/non-tech).

Запит для виконання цього завдання виглядатиме так:

1234
SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
copy

Розглянемо, як ми використали JOIN у нашому запиті:

  1. У частині SELECT перелічуємо стовпці, які потрібні з обох таблиць, обов'язково вказуючи назву таблиці для ясності;
  2. У частині JOIN вказуємо таблицю для об'єднання та спільний стовпець, який їх пов'язує. Тут це employees.department і department.name;
  3. Далі групуємо дані за type, щоб обчислити загальну зарплату за допомогою функції SUM().

Якщо це здається складним, ось проста синтаксична конструкція для використання JOIN:

SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Note
Примітка

На відміну від оператора UNION, оператор JOIN дозволяє об'єднувати цілі таблиці, а не лише спільні стовпці. Крім того, при використанні JOIN немає потреби у підзапитах, як це потрібно для UNION.

Завдання

Swipe to start coding

Потрібно об'єднати дві таблиці: category та product. Спільними стовпцями для цих таблиць є product.category_id та category.id.

Ваше завдання — знайти загальну кількість продуктів у кожній категорії. Для цього необхідно обчислити суму стовпця product.amount.

Використовуйте псевдонім total_amount для цього стовпця. Наприкінці запиту відсортуйте результат за стовпцем total_amount у порядку зростання.

У відповіді повинно бути 2 стовпці: category.name та total.amount.

Коротка інструкція

  • Отримайте стовпець category.name та суму стовпця product.amount з таблиці product.
  • Присвойте псевдонім total_amount другому стовпцю.
  • Об'єднайте таблицю category за допомогою оператора JOIN.
  • Зіставте таблиці за спільним стовпцем product.category_id = category.id.
  • Згрупуйте результати за category.name.
  • Відсортуйте результати за total_amount.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 1
single

single

some-alt