Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Топ:
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
2020-04-01 | 97 |
5.00
из
|
Заказать работу |
|
|
Одной из самых полезных возможностей 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 задает условия связывания таблиц?
Что будет, если в запросе указать выборку из двух таблиц, но не связать их?
Что такое рекурсивное связывание?
|
|
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!