Операции соединения
Цель работы: Научиться соединять таблицы различными способами.
Ключевые слова: естественное соединение, условное соединение.
Теоретический материал:
Внутренние соединения таблиц Естественное соединение (NATURAL JOIN)
Декартовым произведением двух таблиц называется таблица, составленная из всевозможных сочетаний записей обеих таблиц.
Вывести декартово произведение таблиц DANNIE и USPEV.
SELECT * FROM DANNIE, USPEV
Общим столбцом этих таблиц является столбец kod_student.
В полученном декартовом произведении интересуют не все данные, а только те, в которых идентичные столбцы имеют одинаковые значения. Кроме того, в результативной таблице не нужны два идентичных столбца, достаточно лишь одного из них.
SELECT DANNIE.*, USPEV.OCENKA FROM DANNIE, USPEV WHERE DANNIE.KOD_STUDENT=USPEV.KOD_STUDENT
В результате выполнения этого запроса получается таблица естественным соединением.
Данный запрос можно записать, используя псевдонимы.
SELECT T1.*, T2.OCENKA FROM DANNIE T1, USPEV T2 WHERE T1.KOD_STUDENT=T2.KOD_STUDENT
Эквивалентный запрос можно составить с помощью оператора NATURAL JOIN
SELECT T1.*, T2.OCENKA FROM DANNIE T1 NATURAL JOIN USPEV T2.
При естественном соединении, выполняемом с помощью NATURAL JOIN, проверяется равенство всех одноимённых столбцов соединяемых таблиц.
Условное соединение (JOIN …ON)
Условное соединение похоже на соединение с условием равенства. В качестве условия может выступать любое логическое выражение, которое записывается после ключевого слова ON (при), а не WHERE. Если условие выполняется для текущей записи декартового произведения, то она входит в результативную таблицу.
Вывести информацию о студентах и их оценках по дисциплине с кодом 2.
SELECT * FROM DANNIE JOIN USPEV ON (DANNIE.KOD_STUDENT = USPEV.KOD_STUDENT) AND (USPEV.KOD_DISCHIPLINA=2)
Достарыңызбен бөлісу: |