Выборка данных и изменение последовательности вывода строк
Ограничение количества возвращаемых строк с помощью предложения WHERE
Сортировка строк с помощью предложения ORDERBY
Создайте запрос для вывода имени и заработной платы служащих, зарабатывающих более $12000. Сохраните команду SQL в файле lab2_1.sql. выполните запрос.
Select last_name, salary from employees where salary>12000 order by employee_id;
LAST_NAME
SALARY
King
Kochhar
De Haan
Russell
Partners
Hartstein
Higgins
7 rows selected
LAST_NAME
SALARY
King
Kochhar
De Haan
Hartstein
Создайте запрос для вывода фамилии и номера отдела служащего под номером 176
Select last_name, DEPARTMENT_ID from employees where EMPLOYEE_ID=176;
LAST_NAME
DEPARTMENT_ID
Taylor
LAST_NAME
DEPARTMENT_ID
Taylor
Измените файл lab2_1.sql и выведите фамилии и оклады всех служащих, чей оклад не входит в диапазон от $5000 до $12000. сохраните команду SQL в файле lab2_3.sql.
Select last_name, salary from employees where salary NOT BETWEEN 5000 AND 12000 order by employee_id;
LAST_NAME
SALARY
King
Kochhar
De Haan
Austin
Pataballa
Lorentz
Khoo
Baida
Tobias
Himuro
Colmenares
Nayer
Mikkilineni
Landry
Markle
Bissot
Atkinson
Marlow
Olson
Mallin
Rogers
Gee
Philtanker
56 rows selected
LAST_NAME
SALARY
King
Kochhar
De Haan
Lorentz
Rajs
Davies
Matos
Vargas
Whalen
Hartstein
Выведите фамилию, идентификатор должности и дату начала работы всех служащих, нанятых в период с 20 февраля 2008 по 1 мая 2008 г. Отсортируйте данные в порядке возрастания даты найма.
LAST_NAME
JOB_ID
HIRE_DATE
Matos
ST_CLERK
15-MAR-98
Taylor
SA_REP
24-MAR-98
Select last_name, JOB_ID, to_char(hire_date, 'DD-MON-YY')HIRE_DATE from employees where hire_date BETWEEN '20-02-2008' AND '1-05-2008' order by hire_date;
LAST_NAME
JOB_ID
HIRE_DATE
Lee
SA_REP
23-ФЕВ-08
Markle
ST_CLERK
08-МАР-08
Ande
SA_REP
24-МАР-08
Banda
SA_REP
21-АПР-08
Kumar
SA_REP
21-АПР-08
Выведите фамилию и номер отдела всех служащих из отделов 20 и 50. Отсортируйте данные по фамилиям в алфавитном порядке.
Select last_name, department_id from employees where department_id in (20,50) order by last_name;
LAST_NAME
DEPARTMENT_ID
Atkinson
Bell
Bissot
Bull
Cabrio
Chung
Davies
Dellinger
Dilly
Everett
Fay
Feeney
Fleaur
Fripp
Gates
Gee
Geoni
Grant
Hartstein
Jones
Kaufling
Ladwig
Landry
Mallin
Markle
47 rows selected
LAST_NAME
DEPARTMENT_ID
Davies
Fay
Hartstein
Matos
Mourgos
Rajs
Vargas
Измените файл lab2_3.sql для вывода фамилий и окладов служащих отделов 20 и 50, зарабатывающих от $5000 до $12000. Назовите столбцы Employee и MonthlySalary, соответственно. Вновь сохраните команду SQL в файле lab2_6.sql. Выполните запрос.
EMPLOYEE
Monthly Salary
Mourgos
Fay
Select last_name "Employee", salary "Monthly Salary" from employees where (salary BETWEEN 5000 AND 12000) and department_id in (20,50) order by employee_id;
Employee
Monthly Salary
Weiss
Fripp
Kaufling
Vollman
Mourgos
Fay
6 rows selected
Выведитефамилиюидатунаймавсехслужащих, нанятыхв 2004 г. Select last_name, hire_date from employees where hire_date between '01.01.2004' AND '31.12.2004';
LAST_NAME
HIRE_DATE
Hartstein
17-ФЕВ-04
Weiss
18-ИЮЛ-04
Mallin
14-ИЮН-04
Russell
01-ОКТ-04
King
30-ЯНВ-04
Sully
04-МАР-04
McEwen
01-АВГ-04
Abel
11-МАЙ-04
Sarchand
27-ЯНВ-04
Bell
04-ФЕВ-04
10 rows selected
LAST_NAME
HIRE_DATE
Higgins
07-JUN-94
Gietz
07-JUN-94
Выведите фамилии и должности всех служащих, не имеющих менеджера.
Select last_name, job_id from employees where manager_id is null;
LAST_NAME
JOB_ID
King
AD_PRES
LAST_NAME
JOB_ID
King
AD_PRES
Выведите фамилию, оклады и комиссионные всех служащих, зарабатывающих комиссионные. Отсортируйте данные в порядке убывания окладов и комиссионных.
Select last_name, salary, replace(to_char(COMMISSION_PCT),',','.') COMMISSION_PCT from employees where COMMISSION_PCT is not null order by salary desc,commission_pct desc;
LAST_NAME
SALARY
COMMISSION_PCT
Russell
.4
Partners
.3
Errazuriz
.3
Ozer
.25
Cambrault
.3
Abel
.3
Vishney
.25
Zlotkey
.2
King
.35
Tucker
.3
Bloom
.2
Fox
.2
Sully
.35
Bernstein
.25
Greene
.15
McEwen
.35
Hall
.25
Hutton
.25
Taylor
.2
Livingston
.2
Smith
.3
Olsen
.2
Doran
.3
35 rows selected
LAST_NAME
SALARY
COMMISSION_PCT
Abel
.3
Zlotkey
.2
Taylor
.2
Grant
.15
Создайте запрос для вывода фамилии и зарплаты сотрудников, у которых зарплата превышает некоторое заданное значение, которое вводится при выполнении запроса. Сохраните этот запрос в файле lab2_10.sql
Select last_name, salary from employees where salary >&sal;
LAST_NAME
SALARY
OConnell
Grant
Whalen
Hartstein
Fay
Mavris
Baer
Higgins
Gietz
King
Kochhar
De Haan
Hunold
Ernst
Austin
Pataballa
Lorentz
Создайте запрос для вывода номеров сотрудников, фамилий сотрудников, зарплаты и отдела. Номер руководителя сотрудников должен вводиться при выполнении запроса
Select employee_id, last_name, salary, department_id from employees where manager_id=&man;
EMPLOYEE_ID
LAST_NAME
SALARY
DEPARTMENT_ID
Hartstein
Kochhar
De Haan
Raphaely
Weiss
Fripp
Kaufling
Vollman
Mourgos
Russell
Partners
Errazuriz
Cambrault
Zlotkey
14 rows selected
Выведитевсефамилиислужащих, вкоторыхтретьябуква – а. Select distinct last_name from employees where last_name like '__a%'
LAST_NAME
Grant
Whalen
LAST_NAME
Grant
Whalen
Выведите фамилии всех служащих, в которых есть буквы «а» и «е». Select distinct last_name from employees where last_name like '%e%' and last_name like '%a%';
LAST_NAME
Baer
Bates
Colmenares
Davies
De Haan
Faviet
Fleaur
Gates
Hartstein
Markle
Nayer
Partners
Patel
Philtanker
Raphaely
Sewall
Whalen
17 rows selected
LAST_NAME
De Haan
Davies
Whalen
Hartstein
Запросите фамилии, должности и оклады всех служащих, работающих торговыми представителями (SA_REP) или клерками на складе (ST_CLERK) и с окладом, не равным $2500, $3500 и $7000.
Select last_name, job_id, salary from employees where job_id in ('ST_CLERK', 'SA_REP') and salary not in (2500,3500,7000) order by employee_id;
LAST_NAME
JOB_ID
SALARY
Nayer
ST_CLERK
Mikkilineni
ST_CLERK
Landry
ST_CLERK
Markle
ST_CLERK
Bissot
ST_CLERK
Atkinson
ST_CLERK
Olson
ST_CLERK
Mallin
ST_CLERK
Rogers
ST_CLERK
Gee
ST_CLERK
Philtanker
ST_CLERK
Ladwig
ST_CLERK
Stiles
ST_CLERK
Seo
ST_CLERK
Davies
ST_CLERK
Matos
ST_CLERK
Tucker
SA_REP
Bernstein
SA_REP
Hall
SA_REP
Olsen
SA_REP
Cambrault
SA_REP
King
SA_REP
Sully
SA_REP
McEwen
SA_REP
Smith
SA_REP
Doran
SA_REP
43 rows selected
LAST_NAME
JOB_ID
SALARY
Davies
ST_CLERK
Matos
ST_CLERK
Abel
SA_REP
Taylor
SA_REP
Измените lab2_6.sql так, чтобы получить фамилии оклады и комиссионные всех служащих, у которых сумма комиссионных составляет 20%. Выполните запрос ещё раз. Сохраните запрос в файле lab2_15.sql.
Select last_name "Employee", salary "Monthly Salary", replace(to_char(COMMISSION_PCT),',','.') COMMISSION_PCT from employees where commission_pct=0.2 order by employee_id;