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

Зміст курсу

Розширений Рівень SQL

Розширений Рівень SQL

1. Групування
2. Вкладені Запити
3. Об'єднання Таблиць
4. DDL та DML в SQL

book
Приєднання 2 Таблиць

We've got the attention of a company that owns a small online store. They have 2 tables that are related to each other. The first table contains information about the products sold in the online store.

Here's what the product table looks like:

The second table contains product categories on the website, along with a brief description for each category.

Here's what the category table looks like:

Our first task is to join these two tables to find out how many products are in each category. We'll use a JOIN statement to achieve this.

Before diving into the task, let's understand what a JOIN statement is and how it works.

To join two tables, they need to share a common column. Let's see how JOIN works using the employees and department tables. Their common column is employees.department and departments.name.

Note

When writing columns from these tables, start with the table name, add a dot, and then the column name. This helps keep the code clear, especially when tables have columns with the same name. It tells SQL exactly which table and column you mean.

Щоб об'єднати 2 таблиці, вони повинні мати спільну колонку між собою. Розглянемо використання JOIN, на прикладі таблиць employees і department. Нагадаю вам, що їх спільною колонкою є employees.department та departments.name.

Примітка

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

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

Let's break down how we used JOIN in our query:

  1. In the SELECT part, we list the columns we want from both tables, making sure to include the table name for clarity;
  2. In the JOIN part, we specify the table to join and the common column that links them. Here, it's employees.department and department.name;
  3. We then group the data by type to calculate the total salary using the SUM() function.

If this seems complex, here's a simple syntax for using JOIN:

Давайте крок за кроком зрозуміємо, що ми зробили і як ми використовували JOIN:

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

Запит може виглядати складним, отже подивімось на загальний синтаксис використання JOIN:

Завдання
test

Swipe to begin your solution

Your need to join the two tables: category and product. The common columns for these two tables are product.category_id and category.id.

Your task is to find the total amount of products in each category. To do this, you need to calculate the sum of the product.amount column.

Use the alias total_amount for this column. At the end of your query, sort the result by the total_amount column in ascending order.

In the response, you should have 2 columns: category.name and total.amount.

Brief Instructions

  • Retrieve the category.name column and the sum of the product.amount column from the product table.
  • Assign the alias total_amount to the second column.
  • Join the category table using a JOIN statement.
  • Match the tables on the common column product.category_id = category_id.
  • Group the results by category.name.
  • Sort the results by total_amount.

Рішення

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

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

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

Секція 3. Розділ 1
toggle bottom row

book
Приєднання 2 Таблиць

We've got the attention of a company that owns a small online store. They have 2 tables that are related to each other. The first table contains information about the products sold in the online store.

Here's what the product table looks like:

The second table contains product categories on the website, along with a brief description for each category.

Here's what the category table looks like:

Our first task is to join these two tables to find out how many products are in each category. We'll use a JOIN statement to achieve this.

Before diving into the task, let's understand what a JOIN statement is and how it works.

To join two tables, they need to share a common column. Let's see how JOIN works using the employees and department tables. Their common column is employees.department and departments.name.

Note

When writing columns from these tables, start with the table name, add a dot, and then the column name. This helps keep the code clear, especially when tables have columns with the same name. It tells SQL exactly which table and column you mean.

Щоб об'єднати 2 таблиці, вони повинні мати спільну колонку між собою. Розглянемо використання JOIN, на прикладі таблиць employees і department. Нагадаю вам, що їх спільною колонкою є employees.department та departments.name.

Примітка

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

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

Let's break down how we used JOIN in our query:

  1. In the SELECT part, we list the columns we want from both tables, making sure to include the table name for clarity;
  2. In the JOIN part, we specify the table to join and the common column that links them. Here, it's employees.department and department.name;
  3. We then group the data by type to calculate the total salary using the SUM() function.

If this seems complex, here's a simple syntax for using JOIN:

Давайте крок за кроком зрозуміємо, що ми зробили і як ми використовували JOIN:

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

Запит може виглядати складним, отже подивімось на загальний синтаксис використання JOIN:

Завдання
test

Swipe to begin your solution

Your need to join the two tables: category and product. The common columns for these two tables are product.category_id and category.id.

Your task is to find the total amount of products in each category. To do this, you need to calculate the sum of the product.amount column.

Use the alias total_amount for this column. At the end of your query, sort the result by the total_amount column in ascending order.

In the response, you should have 2 columns: category.name and total.amount.

Brief Instructions

  • Retrieve the category.name column and the sum of the product.amount column from the product table.
  • Assign the alias total_amount to the second column.
  • Join the category table using a JOIN statement.
  • Match the tables on the common column product.category_id = category_id.
  • Group the results by category.name.
  • Sort the results by total_amount.

Рішення

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

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

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

Секція 3. Розділ 1
Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
We're sorry to hear that something went wrong. What happened?
some-alt