INNER JOIN
INNER JOIN – это один из самых часто используемых типов соединений в SQL. Он позволяет объединить строки из двух таблиц на основе заданного условия. Рассмотрим его подробнее:
Основные характеристики
Совпадение строк:
INNER JOIN
возвращает только те строки, для которых существует совпадение в обеих таблицах по указанному условию соединения. Если в одной из таблиц нет соответствующей строки для соединения, то эта строка не будет включена в результирующий набор.Условие соединения: Обычно
INNER JOIN
требует указания условия соединения, которое указывает, как строки из одной таблицы связаны со строками другой таблицы. Обычно это делается через совпадение значений столбцов.
Синтаксис
table1
иtable2
: Имена таблиц, которые вы хотите соединить.table1.column
иtable2.column
: Столбцы, по которым происходит соединение. Эти столбцы должны содержать совпадающие значения.
Пример
Предположим, у нас есть две таблицы: employees
и departments
.
Таблица employees
employees
employee_id | name | department_id |
---|---|---|
1 | Alice | 10 |
2 | Bob | 20 |
3 | Charlie | 10 |
Таблица departments
departments
department_id | department_name |
---|---|
10 | HR |
20 | IT |
30 | Marketing |
Мы хотим получить список сотрудников и их соответствующие названия отделов. Для этого можно использовать INNER JOIN
:
Результат запроса
name | department_name |
---|---|
Alice | HR |
Bob | IT |
Charlie | HR |
Объяснение
Мы соединяем таблицу
employees
с таблицейdepartments
по столбцуdepartment_id
.Запрос возвращает только тех сотрудников, у которых есть соответствующий отдел в таблице
departments
.
Особенности
Если условие соединения не выполнено, строка не попадет в результат.
Можно использовать несколько условий соединения, а также соединять более двух таблиц.
INNER JOIN полезен для извлечения данных, которые имеют смысл только при объединении информации из разных источников.
Last updated