ON в Oracle SQL. Введение
Когда мы объединяем таблицы в SQL с помощью JOIN, нам нужно указать, по каким условиям строки из этих таблиц должны быть связаны. Для этого и используется оператор ON. Он определяет условие соединения и влияет на результат запроса.
ON также используется в операторах MERGE, когда мы сопоставляем строки из источника и цели.
🔤 Написание
Можно использовать:
Логические условия (
=,<>,>,IS NULL, и т.д.)Сложные выражения
Несколько условий с
ANDилиOR
🔄 Где часто используется
При объединении таблиц (
JOIN)В
MERGEдля сопоставления строкПри объединении с представлениями
В подзапросах с
JOINВ аналитических запросах
🧪 10 Примеров использования ON с пояснениями
1️⃣ Простой INNER JOIN по ID
Сопоставление сотрудников и отделов.
2️⃣ LEFT JOIN с условием ON
Клиенты с заказами и без.
3️⃣ JOIN с несколькими условиями
Соединение по двум полям.
4️⃣ ON с вычисляемым выражением
Сопоставляем и фильтруем одновременно.
5️⃣ MERGE с ON для сопоставления строк
ON используется как критерий для обновления или вставки.
6️⃣ JOIN по несвязанным таблицам
Условие соединения включает фильтрацию.
7️⃣ JOIN с подзапросом
Подзапрос с фильтрацией + ON соединение.
8️⃣ JOIN с IS NULL в ON
Объединяем даже если пользователь не найден.
9️⃣ ON с OR (осторожно)
Менее эффективный, но допустимый вариант.
🔟 JOIN с BETWEEN в ON
Объединение по диапазону дат.
🧩 Заключение
Оператор ON — это основа всех логик объединения данных в Oracle SQL. Именно он определяет, какие строки из одной таблицы «совпадают» со строками другой таблицы. Грамотно составленное условие ON гарантирует корректность результатов.
💡 Запомни:
Используется в
JOINиMERGEОпределяет условия соединения
Поддерживает сложные выражения
Может сочетаться с
AND,OR,IS NULL,BETWEENи др.Работает с подзапросами и представлениями
🔜 Следующая статья будет:
VALUES в Oracle SQL — как правильно вставлять данные и использовать значения в подзапросах