Академический Документы
Профессиональный Документы
Культура Документы
INNER JOINS является наиболее распространенным типом соединения. Он возвращает все строки из
нескольких таблиц, где выполняются условия соединения.
В данном примере из двух таблиц: STUDENT и UNIVERSITY, где имеются соответствующие
значение UNIVER_ID, выводим следующие данные студентов: SURNAME, NAME, COURSE,
UNIV_NAME.
Другой тип соединения называется Oracle LEFT OUTER JOIN. Этот тип соединения возвращает все
строки из таблиц с левосторонним соединением, указанным в условии ON, и строки другой таблицы, где
объединяемые поля равны.
Для реализации скрипта LEFT OUTER JOIN нам необходимо добавить данные в таблицу SUBJECT:
Этот пример LEFT OUTER JOIN возвратит все строки из таблиц SUBJECT и LECTURER, где
объединяемые поля равны.
Если значение SUBJ_ID из таблицы SUBJECT не существует в таблице LECTURER, все поля
таблицы LECTURER будут отображаться в результирующем наборе как NULL.
Oracle LEFT OUTER JOIN возвратит все записи из table1 и только те записи из table2, которые
пересекаются с table1.
Этот пример RIGHT OUTER JOIN возвращает все строки из таблиц UNIVERSITY и LECTURER, где
объединяемые поля равны.
Если значение UNIV_ID из таблицы UNIVERSITY не существует в таблице LECTURER, все поля в
таблице LECTURER будут отображаться в результирующем наборе как NULL.
Строка для UNIVER_ID 4,5 будет включена, так как был использован RIGHT OUTER JOINS. Тем не
менее, вы заметите, что поле SURNAME и NAME для этой записи содержит значение NULL.
Oracle RIGHT OUTER JOIN возвратит все записи из table2 и только те записи из table1, которые
пересекаются с table2.
Другой тип соединения называется Oracle FULL OUTER JOIN. Этот тип соединения возвращает все
строки из левой таблицы и правой таблицы с NULL — значениями в местах, где условие объединения не
выполняется.
Oracle FULL OUTER JOIN будет возвращать все записи из обеих таблиц table1 и table2.
Практические задания:
1. Выведите данные лекторов (фамилия, имя, дисциплина и семестр), которые будут проводить
занятия по следующим дисциплине: Информатика. Список должен быть отсортирован по ФИО
лектора. Для соединения таблиц необходимо использовать оператор INNER JOIN;
2. Выведите данные студентов (фамилия, имя, дата рождения и университет), которые учатся в вузе
НУ. Список должен быть отсортирован по ФИО студента. Для соединения таблиц необходимо
использовать оператор INNER JOIN.