Выборка, фильтрация и сортировка

Цель

Изучить основы языка SQL. Научится делать выборку данных, фильтрацию и сортировку.

Порядок выполнения

1. Изучить схему БД employee.fdb и, используя ее, составьте запросы, возвращающие указанные результаты

2. Выбрать все страны и их валюты

COUNTRYCURRENCY
USADollar
EnglandPound
CanadaCdnDlr
SwitzerlandSFranc
JapanYen
ItalyEuro
FranceEuro
GermanyEuro
AustraliaADollar
Hong KongHKDollar
NetherlandsEuro
BelgiumEuro
AustriaEuro
FijiFDollar
RussiaRuble
RomaniaRLeu

3. Отобразить имя клиентов из города “Boston”

CUSTOMER
Buttle, Griffith and Co.

4. Выбрать полное имя и зарплату пяти самых высокооплачиваемых сотрудников

FULL_NAMESALARY
Yamamoto, Takashi7480000
Ichida, Yuki6000000
Bender, Oliver H.212850
Steadman, Walter116100
MacDonald, Mary S.111262.5

5. Выбрать полное имя, страну работы и зарплату сотрудников из отдела 621

FULL_NAMEJOB_COUNTRYSALARY
Young, BruceUSA97500
Ramanathan, AshokUSA80689.5
Bishop, DanaUSA62550
Green, T.J.USA36000

6. Выбрать полное имя, дату найма и зарплату сотрудников с зарплатой от 50000 до 60000

FULL_NAMEHIRE_DATESALARY
Lee, Terri1990-05-01T00:0053793
Phong, Leslie1991-06-03T00:0056034.38
Burbank, Jennifer M.1992-04-15T00:0053167.5
Williams, Randy1992-08-08T00:0056295
Johnson, Scott1993-09-13T00:0060000

7. Выбрать имя и фамилию сотрудников, чья фамилия начинается на букву “S”

FIRST_NAMELAST_NAME
WillieStansbury
WalterSteadman
ClaudiaSutherland

8. Выбрать номер, имя и фамилию сотрудников и отсортировать их по фамилии в алфавитном порядке

EMP_NOFIRST_NAMELAST_NAME
34JanetBaldwin
105Oliver H.Bender
……..………….…………..
127MichaelYanowski
4BruceYoung
15KatherineYoung

9. Выбрать номер, имя, фамилию, номер отдела и зарплату сотрудников

  • Отсортировать их по отделу в порядке возрастания
  • Затем по зарплате в порядке убывания.
EMP_NOFIRST_NAMELAST_NAMEDEPT_NOSALARY
105Oliver H.Bender0212850
12TerriLee053793
85Mary S.MacDonald100111262.5
127MichaelYanowski10044000
61LukeLeung11068805
34JanetBaldwin11061637.81
118TakashiYamamoto1157480000
110YukiIchida1156000000
37WillieStansbury12039224.06
36RogerReeves12033620.63
28AnnBennet12022935
……..………….…………..……………….

10. Напишите запрос, чтобы выбрать номер, имя, фамилию, номер отдела, зарплату и дату найма сотрудников из отдела 621 с зарплатой больше 30000 и отсортировать их по дате приема на работу (от самых новых к самым старым)

EMP_NOFIRST_NAMELAST_NAMEDEPT_NOSALARYHIRE_DATE
138T.J.Green621360001993-11-01T00:00
83DanaBishop621625501992-06-01T00:00
45AshokRamanathan62180689.51991-08-01T00:00
4BruceYoung621975001988-12-28T00:00

11. Напишите запрос, чтобы выбрать сотрудников, принятых на работу в 1989 году

FIRST_NAMELAST_NAMEHIRE_DATE
KimLambert1989-02-06T00:00
LeslieJohnson1989-04-05T00:00
PhilForest1989-04-17T00:00

12. Напишите запрос, чтобы выбрать сотрудников, которые:

  • Работают в отделах 621 или 000.
  • Имеют зарплату больше 50000.
  • Были приняты на работу после 1 января 1989 года.
FIRST_NAMELAST_NAMEDEPT_NOHIRE_DATE
TerriLee01990-05-01T00:00
AshokRamanathan6211991-08-01T00:00
DanaBishop6211992-06-01T00:00
Oliver H.Bender01992-10-08T00:00

13. Напишите запрос, чтобы выбрать всех сотрудников, чья фамилия заканчивается на “en” или “an”, и которые работают в отделе 621

FIRST_NAMELAST_NAMEDEPT_NOHIRE_DATE
AshokRamanathan6211991-08-01T00:00
T.J.Green6211993-11-01T00:00

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

  • Отобразить номер заказа, дату заказа, статус оплаты, статус заказа, количество дней просрочки доставки заказа (DATE_NEEDED).
  • Отсортировать данные в порядке уменьшения количества дней просрочки.
PO_NUMBERORDER_STATUSPAIDORDER_STATUSSUBTRACT
V93H0030openyopen11392.98179
V9456220openyopen11363.98179
V94S6400waitingywaiting11347.98179
V93F2030openyopen

Полезная информация

  1. Для выполнения лабораторной работы использовать материалы лекций 12 и 14 учебника.