Команда USING
Команда USING применяется совместно с операторами
JOIN для соединения таблиц по столбцу,
который имеет одинаковое имя в обеих таблицах.
Она упрощает синтаксис по сравнению с ON
и автоматически исключает дублирование столбца в результате.
Синтаксис
SELECT column_list FROM table_name JOIN related_table
USING (column_name)
Таблицы для примеров
| department_id | name |
|---|---|
| 1 | IT |
| 2 | HR |
| 3 | Finance |
| id | name | department_id |
|---|---|---|
| 1 | Ivan | 1 |
| 2 | Olga | 2 |
| 3 | Sergey | 1 |
| 4 | Anna | 3 |
Пример
Давайте свяжем сотрудников с отделами по одноимённому столбцу `department_id`:
SELECT employees.id, employees.name, departments.name AS department_name
FROM employees
INNER JOIN departments
USING (department_id)
ORDER BY employees.id
Результат выполнения кода:
| id | name | department_name |
|---|---|---|
| 1 | Ivan | IT |
| 2 | Olga | HR |
| 3 | Sergey | IT |
| 4 | Anna | Finance |
Пример
Давайте используем LEFT JOIN с USING, чтобы сохранить все строки из таблицы сотрудников:
SELECT employees.id, employees.name, departments.name AS department_name
FROM employees
LEFT JOIN departments
USING (department_id)
ORDER BY employees.id
Результат выполнения кода:
| id | name | department_name |
|---|---|---|
| 1 | Ivan | IT |
| 2 | Olga | HR |
| 3 | Sergey | IT |
| 4 | Anna | Finance |
Смотрите также
-
команду
JOIN,
которая связывает таблицы -
команду
ON,
которая задаёт условие соединения -
команду
INNER JOIN,
которая выбирает только совпадающие строки -
команду
LEFT JOIN,
которая выбирает все строки левой таблицы