Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая работа / bd / задания для лабораторных по БД.doc
Скачиваний:
102
Добавлен:
17.02.2014
Размер:
67.07 Кб
Скачать

Проверка на принадлежность к диапазону значений

  1. Найти все заказы, сделанные в последнем квартале 1989 года

SELECT ORDER_NUM, ORDER_DATE, MFR, PRODUCT, AMOUNT

FROM ORDERS

WHERE ORDER_DATE BETWEEN ’01-OKT-89’ AND ’31-DEC-89’

  1. Найти заказы, стоимости которых попадают в различные диапазоны.

SELECT ORDER_NUM, AMOUNT

FROM ORDERS

WHERE AMOUNT BETWEEN 20000.00 AND 29999.99

SELECT ORDER_NUM, AMOUNT

FROM ORDERS

WHERE AMOUNT BETWEEN 30000.00 AND 39999.99

  1. Вывести список служащих, фактические объемы продаж которых не попадают в диапазон от 80% до 120% плана.

SELECT [NAME], SALES, QUOTA

FROM SALESREPS

WHERE SALES NOT BETWEEN (.8 *QUOTA) AND (1.2 * QUOTA)

Проверка на членство в множестве

Найти все заказы, сделанные четырьмя конкретными служащими

SELECT ORDER_NUM, REP, AMOUNT

FROM ORDERS

WHERE REP IN (107, 109, 101, 103)

Проверка на соответствие шаблону

Показать лимит кредита для Smithson Corp.

SELECT COMPANY, CREDIT_LIMIT

FROM CUSTOMERS

WHERE COMPANY = ‘Smithson Corp.’

Проверка на равенство значению NULL

Вывести список служащих, которые уже закреплены за офисами.

SELECT [NAME]

FROM SALESREPS

WHERE REP_OFFICE IS NOT NULL

Составные условия отбора (AND,OR,NOT)

  1. Найти служащих, у которых фактический объем продаж меньше планового или меньше $300000.

SELECT [NAME], SALES, QUOTA

FROM SALESREPS

WHERE SALES < QUOTA

OR SALES < 300000.00

  1. Найти служащих, у которых фактический объем продаж меньше планового и меньше $300000.

SELECT [NAME], SALES, QUOTA

FROM SALESREPS

WHERE SALES < QUOTA

AND SALES < 300000.00

  1. Найти всех служащих, которые: а) работают в Денвере, Нью-Йорке или Чикаго; или б) не имеют менеджера и были приняты на работу после июня 1988 года; или с) превысили плановый объем продаж, но не достигли уровня в $ 600000.

SELECT [NAME]

FROM SALESREPS

WHERE (REP_OFFICE IN (22, 11, 12))

OR (MANAGER IS NULL AND HIRE_DATE >= ’01-JUN-88’)

OR (SALES > QUOTA AND NOT SALES > 600000.00)

Сортировка результатов запроса (orderby)

  1. Вывести список офисов, отсортированных по фактическим объемам продаж в порядке убывания.

SELECT SITY, REGION, SALES

FROM OFFICES

ORDER BY SALES DESC

  1. Вывести список офисов, отсортированный в алфавитном порядке по названиям регионов, а в каждом регионе – по разности между фактическим и плановым объемами продаж в порядке убывания.

SELECT SITY, REGION, (SALES – TARGET)

FROM OFFICES

ORDER BY REGION ASC, 3 DESC

Объединению результатов нескольких запросов (UNION)

Вывести список всех товаров, цена которых превышает $ 2000 или которых было заказано более чем на $30000 за один раз.

SELECT MFR_ID, PRODUCT_ID

FROM PRODUCTS

WHERE PRICE > 2000.00

UNION

SELECT DISTINCT MFR, PRODUCT

FROM ORDERS

WHERE AMOUNT > 30000.00

Запрос на объединение и повторяющиеся строки *

Вывести список всех товаров, цена которых превышает $ 2000 или которых было заказано более чем на $30000 за один раз.

SELECT MFR_ID, PRODUCT_ID

FROM PRODUCTS

WHERE PRICE > 2000.00

UNION ALL

SELECT DISTINCT MFR, PRODUCT

FROM ORDERS

WHERE AMOUNT > 30000.00

Запрос на объединение и сортировка *

Вывести список всех товаров, цена которых превышает $ 2000 или которых было заказано более чем на $30000 за один раз; список отсортировать по наименованию производителя и номеру товара.

SELECT MFR_ID, PRODUCT_ID

FROM PRODUCTS

WHERE PRICE > 2000.00

UNION

SELECT DISTINCT MFR, PRODUCT

FROM ORDERS

WHERE AMOUNT > 30000.00

ORDER BY 1,2

Простое объединение таблиц (объединение по равенству)

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

SELECT ORDER_NUM, AMOUNT, COMPANY, CREDIT_LIMIT

FROM ORDERS, CUSTOMERS

WHERE CUST=CUST_NUM

Запросы с использованием отношения предок/потомок

  1. Вывести список всех служащих, включая города и регионы, в которых они работают.

SELECT [NAME], CITY, REGION

FROM SALESREPS, OFFICES

WHERE REPOFFICE = OFFICE

  1. Вывести список офисов, включая имена и должности их руководителей.

SELECT CITY, [NAME], TITLE

FROM OFFICES, SALESREPS

WHERE MGR = EMPL_NUM

Условия для отбора строк

Вывести список офисов, план продаж которых превышает $600000.

SELECT CITY, [NAME], TITLE

FROM OFFICES, SALESREPS

WHERE MGR = EMPL_NUM

AND TARGET > 600000.00

Несколько связанных столбцов

Вывести список всех заказов, в том числе их стоимости и описания товаров.

SELECT ORDER_NUM, AMOUNT, DESCRIPTION

FROM ORDERS, PRODUCTS

WHERE MFR = MFR_ID

AND PRODUCT = PRODUCT_ID

Запрос на выборку к трем и боле таблицам

  1. Вывести список заказов стоимостью выше $25000, включая имя служащего, принявшего заказ, и имя клиента, сделавшего его.

SELECT ORDER_NUM, AMOUNT, COMPANY, [NAME]

FROM ORDERS, CUSTOMERS, SALESREPS

WHERE CUST = CUST_NUM

AND REP = EMPL_NUM

AND AMOUNT > 25000.00

  1. Вывести список заказов стоимостью выше $25000, включая имя клиента, сделавшего заказ, и имя служащего, закрепленного за этим клиентом.

SELECT ORDER_NUM, AMOUNT, COMPANY, NAME

FROM ORDERS, CUSTOMERS, SALESREPS

WHERE CUST = CUST_NUM

AND CUST_REP = EMPL_NUM

AND AMOUNT > 25000.00

Соседние файлы в папке bd