Базы данных | страница 38
Общий вид оператора Select для выполнения операции естественного соединения следующий:
Select *
Fromимя отношения 1inner joinимя отношения 2
onусловие равенства кортежей;
Рассмотрим пример.
Пусть даны два отношения:
R>1 ( A, B, C),
R>2 (B, C, D);
Операцию естественного соединения этих отношений можно реализовать с помощью следующего оператора:
SelectА, R>1.B, R>1.C, D
FromR>1inner joinR>2
onR>1.B = R>2.B and R>1.C = R>2.C
В итоге этой операции в результат выведутся атрибуты, указанные в первой строке оператора Select, соответствующие кортежам, равным на указанном пересечении.
Следует заметить, что здесь мы обращаемся к общим атрибутам В и С не просто по именам. Это необходимо делать не по той причине, что и в случае реализации операции декартова произведения, а потому, что в противном случае будет не ясно, к какому отношению они относятся.
Интересно, что использованная формулировка условия соединения (R>1.B = R>2.B and R>1.C = R>2.C) предполагает, что общие атрибуты соединяемых отношений Null-значений не допускают. Это изначально встроено в систему языка структурированных запросов.
7. Операция левого внешнего соединения.
Выражение на языке структурированных запросов SQL операции левого внешнего соединения получается из реализации операции естественного соединения заменой ключевого слова inner на ключевое слово left outer.
Таким образом, на языке структурированных запросов эта операция запишется следующим образом:
Select *
Fromимя отношения 1 left outer joinимя отношения 2
onусловие равенства кортежей;
8. Операция правого внешнего соединения.
Выражение для операции правого внешнего соединения на языке структурированных запросов получается из осуществления операции естественного соединения заменой ключевого слова inner на ключевое слово right outer.
Итак, получаем, что на языке структурированных запросов SQL операция правого внешнего соединения запишется следующим образом:
Select *
Fromимя отношения 1 right outer joinимя отношения 2
onусловие равенства кортежей;
9. Операция полного внешнего соединения.
Выражение на языке структурированных запросов операции полного внешнего соединения получается, как и в двух предыдущих случаях, из выражения для операции естественного соединения путем замены ключевого слова