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


Лабораторная работа №9 Операции соединения



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

Лабораторная работа №9

Операции соединения



Цель работы: Научиться соединять таблицы различными способами.
Ключевые слова: естественное соединение, условное соединение.
Теоретический материал:

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

Естественное соединение (NATURAL JOIN)


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

  1. Вывести декартово произведение таблиц 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. Если условие выполняется для текущей записи декартового произведения, то она входит в результативную таблицу.

  1. Вывести информацию о студентах и их оценках по дисциплине с кодом 2.

SELECT * FROM DANNIE JOIN USPEV ON (DANNIE.KOD_STUDENT = USPEV.KOD_STUDENT) AND (USPEV.KOD_DISCHIPLINA=2)


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




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

    Басты бет