Практикум по дисциплине «Базы данных» Армавир, 2011 Печатается по решению редакционно-издательского совета


Соединение по именам столбцов (JOIN …USING)



бет16/21
Дата04.10.2022
өлшемі1 Mb.
#41367
түріПрактикум
1   ...   13   14   15   16   17   18   19   20   21

Соединение по именам столбцов (JOIN …USING)


Соединение по именам столбцов похоже на естественное соединение. Отличие состоит в том, что можно указать, какие именно одноименные столбцы должны проверяться, а при естественном проверяются все одноименные столбцы.

  1. Вывести в каком городе какие улицы.

SELECT * FROM GOROD JOIN ULICA USING (KOD_GOROD)
Данные таблицы содержат более одного идентичного поля, поэтому естественное соединение вернет пустой результат.

  1. Запрос можно сформулировать иначе:

SELECT * FROM GOROD INNER JOIN ULICA ON (GOROD.KOD_GOROD= ULICA. KOD_GOROD)

Внешние соединения таблиц


Из таблицы, получаемой при внутреннем соединении, отбраковываются все записи, для которых нет соответствующей записи одновременно в обеих таблицах. При внешнем соединении такие несоответствующие записи сохраняются.

Левое соединение (LEFT OUTER JOIN)


При левом внешнем соединении несоответствующие записи, имеющиеся в левой таблице, сохраняются в результативной, а имеющиеся в правой – удаляются.
Рассмотренный в Примере 1 запрос выводит не все записи, тот же самый запрос при внешнем левом объединении выглядит так:
SELECT T1.*, T2.OCENKA FROM DANNIE T1 LEFT OUTER JOIN USPEV T2 ON T1.KOD_STUDENT=T2.KOD_STUDENT

Правое соединение (RIGHT OUTER JOIN)


При правом внешнем соединении несоответствующие записи, имеющиеся в правой таблице, сохраняются в результативной, а имеющиеся в левой – удаляются.
Рассмотренный в Примере 1 запрос выводит не все записи, тот же самый запрос при внешнем правом объединении выглядит так:
SELECT T1.*, T2.OCENKA FROM DANNIE T1 RIGHT OUTER JOIN USPEV T2 ON T1.KOD_STUDENT=T2.KOD_STUDENT

Полное соединение (FULL JOIN)


Полное соединение выполняет и левое, и правое внешние соединения.
SELECT * FROM DANNIE FULL JOIN USPEV


Задания:

  1. Вывести названия регионов и соответствующие названия городов.

  2. Вывести перечень специальностей и название групп.

  3. Вывести названия дисциплин, по которым студенты получили 5.

  4. Вывести фамилии преподавателей, поставивших 3.

  5. Вывести фамилии студентов и названия соответствующих улиц.

  6. Вывести фамилии студентов и названия соответствующих городов.

  7. Вывести фамилии студентов и названия соответствующих регионов.

  8. Вывести информацию о студентах и их родителях.





Достарыңызбен бөлісу:
1   ...   13   14   15   16   17   18   19   20   21




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет