Отбор данных из нескольких таблиц — КиберПедия 

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

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Отбор данных из нескольких таблиц

2020-04-01 96
Отбор данных из нескольких таблиц 0.00 из 5.00 0 оценок
Заказать работу

 

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

При связывании таблиц необходимым элементом оператора SQL является ключевое слово WHERE. Имена таблиц для связывания указываются в списке ключевого слова FROM. Связь определяется в выражении ключевого слова WHERE. Есть несколько типов связывания:

а) связвание по равенству. Это самый полезный тип связывания. Его также называют внутреним связыванием (INNER JOIN). При связывании по равенству таблицы связываются по общему столбцу, который в каждой из таблиц обычно является ключевым. Синтаксис оператора, задающего связывание по равенству, имеет вид:

таблица1.столбец1, таблица2.столбец2…таблица1, таблица 2 [, таблица3]таблица1.имя_столбца = таблица2.имя_столбца

[AND таблица1.имя_столбца = таблица3.имя_столбца]

 

Обратите внимание, что в списке оператора SELECT вместе с именами каждого из столбцов указываются имена соответствующих таблиц. Это назвается подробным определением столбца в запросе. Подробные определения требуются только для тех столбцов, которые присутствуют в нескольких из указанных в запросе таблиц. Но в операторе обычно указываются подробные определения для всех столбцов;

б) естественное связывание. Естественное связывание почти эквивалентно связыванию по равенству, но при естественном связывании таблиц повторения эквивалентных столбцов исключаются. Условие связывания оказывается таким же, но столбцы выбираются иначе. Синтаксис оператора:

таблица1.*, таблица2.имя_столбца

[, таблица3.имя_столбца]таблица1, таблица 2 [, таблица3]таблица1.имя_столбца = таблица2.имя_столбца

[AND таблица1.имя_столбца = таблица3.имя_столбца]

 

в) связывание по неравенству. При связывании по неравенству две или несколько таблиц объединяются по условию неравенства значения столбца таблицы значению из столбца другой таблицы. Синтаксис соответствующей части оператора:

таблица1, таблица 2 [, таблица3]таблица1.имя_столбца!= таблица2.имя_столбца

[AND таблица1.имя_столбца!= таблица3.имя_столбца]

 

При связывании по неравенству обычно в выводе присутствует ряд строк, которые на самом деле оказываются ненужными, так что результаты запроса, в котором используется связывание по неравенству, всегда требуют дополнительной проверки;

г) рекурсивное связывание (использование псевдонимов). Отметим, что с целью сокращения объема печатания таблицам могут назначаться псевдонимы - временное переименование таблиц. Особенно часто псевдонимы используются при рекурсивном связывании.

Рекурсивное связывание (SELF JOIN) предполагает связывание таблицы с ней же самой, применяя временное переименование таблицы в операторе SQL. Синтаксис оператора:


 

SELECT А.имя_столбца, В.имя_столбца, [, С.имя_столбца]таблица1 А, таблица 2 В [, таблица3 С]А.имя_столбца = В.имя_столбца

[AND А.имя_столбца = С.имя_столбца]

 

Здесь А, В, С - псевдонимы таблиц.

д) связывание по нескольким ключам. В зависимости от структуры базы данных таблицы могут иметь не простые, а составные ключи, то есть состоящие из нескольких столбцов. Из нескольких столбцов может состоять и внешний ключ. В этом случае в предложении WHERE надо указать сравнение каждой составляющей ключа.

 

Задание на лабораторную работу

 

Прежде, чем приступить к выполнению задания, следует ознакомиться с соответствующими разделами виртуальной обучающей системы SQL_Education.

Выполните поиск информации в отдельных таблицах базы данных TradeCompany:

список всех клиентов фирмы;

список всех товаров, имеющихся на фирме;

список товаров, цена которых не превышает указанную сумму;

список счетов, выданных в текущем месяце;

список товаров определенного наименования.

Выполните поиск информации в нескольких таблицах базы данных:

список клиентов фирмы, приобретавших товар определенного вида;

список всех клиентов и их счетов;

список счетов, выставленных определенному клиенту;

список клиентов и наименование товаров, приобретенных ими в определенную дату;

список товаров и их количество, приобретенных определенным клиентом;

найдите дату счета, выписанного определенному клиенту за приобретение определенного товара;

список всех клиентов, которые не приобретали определенный товар.

 

Требования к отчету

 

Отчет по лабораторной работе содержит листинги команд и результаты выполнения запросов.

 

3.6 Контрольные вопросы

 

К какому разделу SQL относится оператор SELECT?

Назовите обязательные составляющие оператора SELECT.

Для всех ли данных в выражении ключевого слова WHERE обязательно нужно использовать кавычки?

Можно ли в выражении для ключевого слова WHERE задать несколько условий?

Допустимы ли кавычки для значений числовых полей?

Можно ли оператор SELECT использовать без ключевого слова FROM?

Что такое псевдоним таблицы?

При связывании таблиц должны ли они связываться в том же порядке, в каком они указаны в выражении ключевого слова FROM?

При использовании в операторе запроса таблицы-связки обязательно ли выбирать в запросе ее столбцы?

Можно ли связывать в запросе не один, а несколько столбцов таблиц? Какая часть оператора SQL задает условия связывания таблиц?

Что будет, если в запросе указать выборку из двух таблиц, но не связать их?

Что такое рекурсивное связывание?


 


Поделиться с друзьями:

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.006 с.