Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет по лабораторным работам_Носова.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
93.7 Кб
Скачать

Отчет по лабораторным работам

Лабораторная работа № 13. Оператор select … where. Выборка из таблицы записей, удовлетворяющих заданному условию.

Использование агрегатных функций для отобранных записей.

Подсчитать суммарную стоимость всех заказов, с ценой меньше100 руб.;

SELECT count(*)

FROM Заказано

WHERE Цена<100;

Найти минимальную, максимальную и среднюю цены для товаров с количеством, равным 10;

SELECT MIN (Цена), MAX (Цена), AVG (Цена)

FROM Заказано

WHERE Количество=10;

Функция CDATE().

Найти в таблице «Заказы» все заказы, исполненные между 01.07.1996 и 01.01.1997. Для этого нужно преобразовать даты с помощью функции CDATE() из текстового типа в тип «date». Запрос имеет вид:

SELECT * FROM Заказы WHERE ДатаИсполнения>=CDATE('01.07.1996') AND ДатаИсполнения<CDATE('01.01.1997');

Запрос на выборку из таблицы «Заказы» всех заказов, исполненных после 15.04.1998 и выполненных более чем за 5 дней.

SELECT *

FROM Заказы

WHERE ДатаИсполнения>CDATE(' 15.04.1998 ') And ДатаИсполнения-ДатаНазначения>5;

Функция DatePart().

Найти с помощью функции DatePart()все заказы, размещённые

a) в первом квартале 1997 г;

SELECT *

FROM Заказы

WHERE DatePart('q',ДатаРазмещения)=1 And DatePart('yyyy',ДатаРазмещения)=1997;

b) по понедельникам в январе за все годы.

SELECT *

FROM Заказы

WHERE DatePart('w',ДатаРазмещения)=2 And DatePart('m',ДатаРазмещения)=1;

Использование в условии выборки списка значений.

Найдите в таблице «Заказы» все заказы, размещённые:

a)в мае , августе и декабре в1996 и 1998 годах;

SELECT *

FROM Заказы

WHERE DatePart('m',ДатаРазмещения) In (5,9,12) And DatePart('yyyy',ДатаРазмещения) In (1996,1998);

b)пятого августа в 1996, 1997 и 1998 годах.

SELECT *

FROM Заказы

WHERE DatePart('d',ДатаРазмещения)=5 And DatePart('m',ДатаРазмещения)=8 And DatePart('yyyy',ДатаРазмещения) In (1996,1997,1998);

Использование в условии выборки диапазона значений.

Выберать из таблицы “Заказы”:

a) только поле СтранаПолучателя, при условии, что названия стран начинаются на А, Б, В или Р, С, Т и выборке не должно быть повторений названий стран.

SELECT DISTINCT СтранаПолучателя

FROM Заказы

WHERE (СтранаПолучателя Between 'А' And 'Вя') Or (СтранаПолучателя Between 'Р' And 'Тя');

b) алфавитном порядке города (поле ГородПолучателя) от Лилля до Парижа.

SELECT DISTINCT ГородПолучателя

FROM Заказы

WHERE ГородПолучателя BETWEEN 'Лилль' AND 'Париж'

ORDER BY ГородПолучателя;

Сформировать, используя оператор LIKE, и выполните следующие запросы к таблице «Заказы»:

a) выбрать все заказы с названием города получателя, начинающимся на А, Л или П;

SELECT *

FROM Заказы

WHERE ГородПолучателя Like 'А*' Or ГородПолучателя Like 'Л*' Or ГородПолучателя Like 'П*';

b)изменить предыдущий запрос, выбирая только поле ГородПолучателя и не допуская повторений;

SELECT DISTINCT ГородПолучателя

FROM Заказы

WHERE ГородПолучателя Like 'А*' Or ГородПолучателя Like 'Л*' Or ГородПолучателя Like 'П*';

c) выбрать все заказы с названием города получателя, начинающимся на Л, а со второй буквой – «и» или «о»;

SELECT *

FROM Заказы

WHERE ГородПолучателя Like 'Ли*' Or ГородПолучателя Like 'Ло*'

ORDER BY ГородПолучателя;

d) выбрать названия городов, состоящие из пяти букв и начинающиеся на букву П;

SELECT *

FROM Заказы

WHERE ГородПолучателя Like 'П????';

e) выбрать заказы, в которых адрес получателя сдержит запятую;

SELECT *

FROM Заказы

WHERE АдресПолучателя Like '*,*';

f) выбрать заказы, в которых адрес получателя начинается с цифры;

SELECT *

FROM Заказы

WHERE АдресПолучателя Like '#*';

g) выбрать заказы, в которых адрес получателя начинается не с цифры;

SELECT *

FROM Заказы

WHERE АдресПолучателя Like '[!0-9]*';

h) выбрать заказы, в которых адрес получателя начинается не с букв с C (лат.) по L и не с цифры;

SELECT *

FROM Заказы

WHERE АдресПолучателя Like '[!C-L]*' AND АдресПолучателя Like '[!0-9]*';

i) выбрать заказы, в которых адрес получателя начинается с цифры и имеет длину, не более 20 символов.

SELECT *

FROM Заказы

WHERE АдресПолучателя Like '#[1-20]*';