Практическая лабораторная работа №1
Декартово произведение таблиц
Download 3.23 Mb. Pdf ko'rish
|
курс лаб по SQL 2008
- Bu sahifa navigatsiya:
- SELECT * FROM FACULTET, KAFEDRA
- Запрос 28.
- SELECT * FROM FACULTET, KAFEDRA, TEACHER Условие соединения
Декартово произведение таблиц
Соединение таблиц - это частный случай операции декартового произведения (или просто произведения). Декартово произведение двух таблиц — это таблица, состоящая из всех возможных пар строк обеих таблиц. Это определение можно естественным образом расширить на любое количество таблиц. В SQL декартово произведение выражается указанием имен перемножаемых таблиц во фразе FROM и указанием всех их столбцов во фразе SELECT. Так, произведение таблиц FACULTET и KAFEDRA выражается следующим образом: SELECT * FROM FACULTET, KAFEDRA Так как результирующая таблица содержит много столбцов и они не помещаются по ширине страницы, мы приведем только интересующие нас столбцы произведения этих таблиц. 119 Запрос 28. Декартово произведение таблиц. SELECT FACULTET.Name_faculteta, FACULTET. Kod_faculteta, KAFEDRA. Kod_faculteta, KAFEDRA.Name_Kafedru FROM FACULTET, KAFEDRA; Каждая строка таблицы факультетов оказалась соединенной с каждой строкой таблицы кафедр, в результате получилось 27 строк (3 факультета х 9 кафедр = 27 комбинаций). В произведении может участвовать много таблиц. Например, произведение таблиц факультетов, кафедр и преподавателей записывается следующим образом: SELECT * FROM FACULTET, KAFEDRA, TEACHER Условие соединения Соединение таблиц может быть указано во фразе WHERE или во фразе FROM. Сначала рассмотрим первый вариант. Большинство запросов, имеющих несколько таблиц во фразе FROM, содержат фразу WHERE, в которой указаны условия, попарно сравнивающие столбцы из различных таблиц. Такое условие называется условием соединения. В этом случае SQL предполагает сцепление только тех пар строк из разных таблиц, для которых условие соединения принимает истинное значение. Теоретически при соединении сначала выполняется декартово произведение указанных таблиц в одну, а затем из нее отбираются строки согласно условию соединения. Естественно, ни одна СУБД не работает таким образом. Фраза WHERE помимо условия соединения может также содержать другие условия, каждое из которых ссылается на столбцы соединенной таблицы. Эти условия производят отбор строк соединенной таблицы. Соединения можно разделить на следующие категории. Внутренние соединения (типичные операции соединения, использующие такие операторы сравнения, как = или <>). Они включают эквивалентные соединения и естественные соединения. Внутренние соединения используют оператор сравнения для установки соответствия строк из двух таблиц на основе значений общих столбцов в каждой таблице. Примером может быть получение всех строк, в которых идентификационный номер студента одинаковый как в таблице students, так и в таблице courses. Внешние соединения. Внешние соединения бывают левыми, правыми и полными. Если внешние соединения задаются в предложении FROM, они указываются с одним из следующих наборов ключевых слов. Download 3.23 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling