Oracle EQUIJOINS
Что такое Equijoin в Oracle?
Equijoin - это такое соединение, которое выполняет условие соединения, содержащее оператор равенства. Он объединяет строки одной таблицы, связанные с одной или несколькими строками в другой таблице, на основе равенства значений столбцов или выражений.
Синтаксис:
SELECT column_list ИЗ таблицы 1, таблицы 2 ГДЕ table1.column_name = table2.column_name;
Иллюстрированная презентация
Пример-1:
Пример таблицы: сотрудники
Пример таблицы: отделы
В следующих примерах возвращаются имя и должность каждого сотрудника, а также номер и название отдела, в котором работает сотрудник.
SELECT first_name, job_id, departments.department_id, department_name
FROM employees, departments
WHERE employees.department_id = departments.department_id
ORDER BY last_name, job_id;
Пример вывода:
FIRST_NAME JOB_ID DEPARTMENT_ID DEPARTMENT_NAME -------------------- ---------- ------------- ------- ------------- Эллен SA_REP 80 Продажи Сундар SA_REP 80 Продажа Може ST_CLERK 50 Доставка David IT_PROG 60 IT Герман PR_REP 70 Связи с общественностью Шелли PU_CLERK 30 Закупки Амит SA_REP 80 Продажа Елизавета SA_REP 80 Продажи Сара SH_CLERK 50 Доставка Давид SA_REP 80 Продажи Лаура ST_CLERK 50 Доставка Харрисон SA_REP 80 Продажи Alexis SH_CLERK 50 Доставка Энтони SH_CLERK 50 Доставка Джеральд SA_MAN 80 продаж Нанетт SA_REP 80 Продажи .....................................
Пример 2: Equijoins с использованием AND, IN
Следующий SQL-запрос возвращает номер отдела, название отдела и город каждого местоположения, в котором нет отдела, содержащего значение 40 или 50.
Пример таблицы: расположение
Пример таблицы: отделы
SELECT a.department_id, a.department_name, b.city
FROM departments a, locations b
WHERE a.location_id = b.location_id
AND a.department_id IN (40, 50);
Пример вывода:
DEPARTMENT_ID DEPARTMENT_NAME CITY ------------- ------------------------------ ------- -------------- 40 человеческих ресурсов Лондон 50 Доставка Южный Сан-Франциско
Пример 3: Equijoins с использованием более двух таблиц
Следующий запрос SQL возвращает имя, название отдела и город каждого сотрудника.
Пример таблицы: сотрудники
Пример таблицы: расположение
Пример таблицы: отделы
SELECT a.first_name, b.department_name, c.city
FROM employees a, departments b, locations c
WHERE a.department_id = b.department_id
AND b.location_id = c.location_id;
Пример вывода:
FIRST_NAME DEPARTMENT_NAME CITY -------------------- ------------------------------ ---------------------- Эллен Сэйлс Оксфорд Сундар Сэйлс Оксфорд Може Шиппинг Южный Сан-Франциско Дэвид ИТ Саутлейк Герман по связям с общественностью Мюнхен Шелли покупая Сиэтл Амит Сэйлс Оксфорд Элизабет Сэйлс Оксфорд Сара Шипинг Южный Сан-Франциско Дэвид Сэйлс Оксфорд Лора Шиппинг Южный Сан-Франциско Харрисон Сэйлс Оксфорд Алексис Шипинг Южный Сан-Франциско Энтони Шиппинг Южный Сан-Франциско ..........
Предыдущая: Оракул ПРИСОЕДИНЯЕТСЯ
Далее: НЕ ЭКВИДЖОЙНЫ
Новый контент: Composer: менеджер зависимостей для PHP , R программирования