Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетБДПос(Лобова)!!.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
3.51 Mб
Скачать

Связный подзапрос

При использовании ссылки во внутреннем запросе на таблицу указанную во внешнем запросе строится связный подзапрос.

7.29. Выбрать сведения обо всех договорах, которые поступили по накладным 10.27.08.

SELECT НАКЛАДНАЯ.*

FROM НАКЛАДНАЯ

WHERE #10/27/2008# IN

(SELECT ДАТА_ОТГ

FROM ДОГОВОР WHERE ДОГВОР.НОМ_ДОГ=НАКЛАДНАЯ.НОМ_ДОГ);

Подзапросы с использованием HAVING.

7.32. Определить количество товаров, стоимость которых превышает среднюю стоимость монитора – Монитор 17LG.

SELECT Count (НАИМ_ТОВ), ЦЕНА

FROM ТОВАР

GROUP BY ЦЕНА

HAVING ЦЕНА<(SELECT AVG (ЦЕНА)

From ТОВАР WHERE НАИМ_ТОВ='Монитор 17LG');

Связные подзапросы в HAVING

7.34. Отобрать сумму, на которую поставлены товары, сгруппировав поставки по датам поставок и исключить даты, в которые поставлено товаров меньше чем по 2 договорам.

SELECT ДАТА_ОТГ, Sum(СУММА_НАКЛ) AS ВСЕГО

FROM НАКЛАДНАЯ AS A

GROUP BY ДАТА_ОТГ

HAVING 2< (SELECT COUNT(СУММА_НАКЛ)

FROM НАКЛАДНАЯ AS B

WHERE A.ДАТА_ОТГ= B.ДАТА_ОТГ);

Использование оператора EXISTS в подзапросах.

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

7.36. Отобрать покупателей, которые приобрели товары хотя бы один раз. (Использование EXISTS).

SELECT ПОКУПАТЕЛЬ.КОД_ПОК

FROM ПОКУПАТЕЛЬ

WHERE EXISTS

(SELECT* FROM ДОГОВОР

WHERE ПОКУПАТЕЛЬ.КОД_ПОК=ДОГОВОР.КОД_ПОК);

    1. Самостоятельная работа

7.3. Выбрать из таблицы товары перечень поставляемых товаров. (Использовать необходимый предикат).

7.4. Выбрать из таблицы Поставки перечень поставщиков, которые поставляют товары. Коды поставщиков повторяться не должны.

7.6. Выбрать из таблицы поставки, 8 поставок которые были сделаны последними.

7.7. Выбрать из таблицы план поставки все поля и провести сортировку по сроку поставки.

7.9 Выбрать все данные о покупателях обслуживающихся в банке Кредит.

7.10 Выбрать все данные о поставках на 22.07.2008. (Константу дата записать как #22/07/2008#).

7.11. Выбрать фамилию и номер телефона для покупателя с кодом П002.

7.12. Отобрать поставки, которые были проведены с 1.07.2008 по 20.07.2008.

7.13. Выбрать покупателей, у которых телефон обслуживается сотовой связью МТС (первые цифры (918) далее три любых цифры тире и четыре любых цифры)

7.14. Отобрать товары, у которых нет фото товара.

7.15. Отобрать ответственных склады в которых ответственными лицами являются Иванов, Петров, Сидоров.

7.19. Выберите покупателей, которые приобретали товары более 2 раз.

7.20. Вычислить общее количество поставляемых товаров по датам поставок.

7.21. Вычислите минимальную партию поставки для каждого договора.

7.22. Вычислите максимальную партию поставки для каждого товара.

7.23. Вычислите общее количество поставок по различным товарам.

7.25. Найти адрес покупателя товар с кодом договора Д111.

7.26. Известно наименование организации таблицы покупатели, но неизвестно значение КОД_ПОК. Найти данные обо всех договорах указанной организации. (Компьютер маркет)

7.27. Известен НОМ_ДОГ но неизвестно, КодТовара. Найти Наименование товара Цену. НОМ_ДОГ = Д222.

7.28. Известен НОМ_ДОГ, но неизвестен, КОД_ПОК Найти Наименование организации, Адрес, номер телефона. НОМ_ДОГ = Д111..

7.30. Выбрать сведения обо всех поставщиках, с которыми заключен договор 5.6.2006.

7.31 Выбрать сведения о том, какого числа и по какому договору поставлен товар с кодом Т003.

7.33 Определить количество товаров, стоимость которых не превышает максимальное значение розничной стоимости товара FDD 3,5.

7.35. Отобрать сумму, на которую поставлены товары, сгруппировав поставки по коду склада, исключив поставки которые были один раз.

7.37. Отобрать товары, количество которых в одну поставку больше 9.