Cust# |
Name |
Street |
1 2 3 4 5 6 7 8 |
Smith Jones Symone Duncan Jordan Elliot Madison Mackey |
1 The Close 38 High Street 21 Edgley 2 Lambe Lane 8 Comer Street 92 Honey Lane 101 High Road 43 Bye Close |
Order# |
Cust# |
Product |
Qty |
1000 1001 1002 1003 1004 1005 1006 1007 |
4 6 2 4 5 1 1 3 |
Nut ¼ Inch Screw 2 Inch Washer ¼ Inch Spanner Screw Driver Hummer Nall 3 Inch Null 3 Inch |
100 200 150 1 1 1 200 1000 |
Order# |
Cust# |
Name |
Street |
Product |
Qty |
1000 1001 1002 1003 1004 1005 1006 1007 |
4 6 2 4 5 1 1 3 |
Duncan Elliot Jones Duncan Jordan Smith Smith Symone |
2 Lambe Lane 92 Honey Lane 38 High Street 2 Lambe Lane 8 Comer Street 1 The Close 1 The Close 21 Edgley |
Nut ¼ Inch Screw 2 Inch Washer ¼ Inch Spanner Screw Driver Hummer Nall 3 Inch Null 3 Inch |
100 200 150 1 1 1 200 1000 |
Соединение позволяет в качестве результата получить комбинацию данных из двух или более таблиц.
В приведенном примере, результат нашего запроса включает столбцы из обоих таблиц: таблицы заказчиков и таблицы заказов
Элемент, по которому обычно связываются две таблицы – это первичный и внешний ключи.
Теоритически функция связывания есть ни что иное, как декартово произведение двух таблиц. Затем исключаются строки, которые не удовлетворяют условию выборки, заданному в WHERE. На практике выполняется некоторая оптимизация, ускоряющая операцию соединения, и полное декартово произведение не происходит.
Соединения
Ключевые столбцы
для соединения
Cust# |
Name |
Street |
1 2 3 4 5 6 7 8 |
Smith Jones Symone Duncan Jordan Elliot Madison Mackey |
1 The Close 38 High Street 21 Edgley 2 Lambe Lane 8 Comer Street 92 Honey Lane 101 High Road 43 Bye Close |
Order# |
Cust# |
Product |
Qty |
1000 1001 1002 1003 1004 1005 1006 1007 |
6 2 4 4 5 1 1 3 |
Nut ¼ Inch Screw 2 Inch Washer ¼ Inch Spanner Screw Driver Hummer Nall 3 Inch Null 3 Inch |
100 200 150 1 1 1 200 1000 |
Первичный Родительская Внешний Зависимая
ключ таблица ключ таблица
Когда используется внешний ключ, в какой-то момент должна быть установлена связь с таблицей, содержащей первичный ключ. Подобная технология называется соединением.
Таблица, содержащая первичный ключ, называется родительской таблицей. Таблица, содержащая внешний ключ, называется зависимой таблицей.
Таблицы связываются использованием ключей.
Сложныесоединения
SELECT sale.*, contact_name
FROM sale, contact
WHERE sale.company_no = contact.company_no
AND sale.contact_code = contact.contact_code
Должны быть определены
обе части ключа
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.