Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Запросы с использованием одной таблицы




1. Простая выборка (выбрать полную информацию о продуктах с сортировкой по алфавиту)

SELECT *

FROM Продукты

ORDER BY Продукт;

Здесь "звездочка" (*) служит кратким обозначением всех имен полей в таблице, указанной во фразе FROM. При этом порядок вывода полей соответствует порядку, в котором эти поля определялись при создании таблицы.

Запрос выдает результат, указанный на Рис. 3-9, б.

 

2. Исключение дубликатов (выдать перечень проданных продуктов без повторений)

Этот запрос является аналогом операции проекции реляционной алгебры.

Для исключения дубликатов и одновременного упорядочения перечня необходимо дополнить запрос ключевым словом DISTINCT (различный, различные), как показано в следующем примере:

SELECT DISTINCT КодПрод

FROM Продажи;

Результат запроса приведен на Рис. 3-10, б.

Возможности совместной обработки нескольких таблиц

1. Декартово произведение

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

SELECT *

FROM Поставщики, Продукты;

Или SELECT Поставщики.*, Продукты.*

FROM Поставщики, Продукты;

Результат запроса приведен на Рис. 3-14, б.

 

2. Естественное соединение

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

SELECT Продажи.*, Продукт, ЕдИзм, [СрокХран(дней)], УсловияХран

FROM Продукты, Продажи

WHERE Продукты.КодПрод = Продажи.КодПрод;

Результат запроса приведен на Рис. 3-15, б.

 

3. Условное соединение

Получить названия и вес продуктов, проданных 2 января 2004г. В отличие от предыдущего запроса здесь к условию связи таблиц по поля код продукта добавляется условие отбора даты продажи

SELECT ДатаПродажи, Продукт, Количество, ЕдИзм

FROM Продукты, Продажи

WHERE ДатаПродажи = #1-2-2004# AND Продукты.КодПрод = Продажи.КодПрод;

Результат запроса приведен на Рис. 3-16, б.

4. Объединение двух таблиц содержит те записи, которые есть либо в первой, либо во второй, либо в обеих таблицах. Объединить записи таблиц Продукты и НовыеПродукты. Поскольку таблицы имеют эквивалентные схемы, то в запрос можно включить все поля:

SELECT Продукты.*

FROM Продукты

UNION SELECT НовыеПродукты.*

FROM НовыеПродукты;

 

 

Вложенные подзапросы

Виды вложенных подзапросов Вложенный подзапрос - это подзапрос, заключенный в круглые скобки и вложенный в WHERE (HAVING) фразу предложения SELECT или других предложений, использующих WHERE фразу. Вложенный подзапрос может содержать в своей WHERE (HAVING) фразе другой вложенный подзапрос и т.д. Вложенный подзапрос создан для того, чтобы при отборе записей таблицы, сформированной основным запросом, можно было использовать данные из других таблиц. Существуют простые и коррелированные вложенные подзапросы. Они включаются в WHERE (HAVING) фразу с помощью условий IN, EXISTS или одного из условий сравнения (= | <> | < | <= | > | >=). Простые вложенные подзапросы обрабатываются системой "снизу вверх". Первым обрабатывается вложенный подзапрос самого нижнего уровня. Множество значений, полученное в результате его выполнения, используется при реализации подзапроса более высокого уровня и т.д. Запросы с коррелированными вложенными подзапросами обрабатываются системой в обратном порядке. Сначала выбирается первая строка рабочей таблицы, сформированной основным запросом, и из нее выбираются значения тех столбцов, которые используются во вложенном подзапросе (вложенных подзапросах). Если эти значения удовлетворяют условиям вложенного подзапроса, то выбранная строка включается в результат. Затем выбирается вторая строка и т.д., пока в результат не будут включены все строки, удовлетворяющие вложенному подзапросу (последовательности вложенных подзапросов).

 





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


Дата добавления: 2017-01-28; Мы поможем в написании ваших работ!; просмотров: 296 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Если президенты не могут делать этого со своими женами, они делают это со своими странами © Иосиф Бродский
==> читать все изречения...

2457 - | 2326 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.