Лабораторная работа 2
Выборка данных и изменение последовательности вывода строк
Ограничение количества возвращаемых строк с помощью предложения WHERE
Сортировка строк с помощью предложения ORDER BY
Создайте запрос для вывода имени и заработной платы служащих, зарабатывающих более $12000. Сохраните команду SQL в файле lab2_1.sql. выполните запрос. SELECT first_name, salary FROM employees where salary>12000
LAST_NAME |
SALARY |
King |
24000 |
Kochhar |
17000 |
De Haan |
17000 |
Hartstein |
13000 |
Создайте запрос для вывода фамилии и номера отдела служащего под номером 176
SELECT last_name, department_id FROM employees where employee_id=176
LAST_NAME |
DEPARTMENT_ID |
Taylor |
80 |
Измените файл lab2_1.sql и выведите фамилии и оклады всех служащих, чей оклад не входит в диапазон от $5000 до $12000. сохраните команду SQL в файле lab2_3.sql. SELECT first_name, salary FROM employees where salary>12000 or salary<5000
LAST_NAME |
SALARY |
King |
24000 |
Kochhar |
17000 |
De Haan |
17000 |
Lorentz |
4200 |
Rajs |
3500 |
Davies |
3100 |
Matos |
2600 |
Vargas |
2500 |
Whalen |
4400 |
Hartstein |
13000 |
LAST_NAME |
JOB_ID |
HIRE_DATE |
Matos |
ST_CLERK |
15-MAR-98 |
Taylor |
SA_REP |
24-MAR-98 |
Выведите фамилию, идентификатор должности и дату начала работы всех служащих, нанятых в период с 20 февраля 1998 по 1 мая 1998 г. Отсортируйте данные в порядке возрастания даты найма. SELECT last_name, job_id, hire_date FROM employees where hire_date>='20-FEB-1998' and hire_date<='1-MAY-1998' Order by hire_date
Выведите фамилию и номер отдела всех служащих из отделов 20 и 50. Отсортируйте данные по фамилиям в алфавитном порядке. SELECT LAST_NAME, DEPARTMENT_ID FROM employees where department_id in (20,50) Order by LAST_NAME
LAST_NAME |
DEPARTMENT_ID |
Davies |
50 |
Fay |
20 |
Hartstein |
20 |
Matos |
50 |
Mourgos |
50 |
Rajs |
50 |
Vargas |
50 |
7 row selected
Измените файл lab2_3.sql для вывода фамилий и окладов служащих отделов 20 и 50, зарабатывающих от $5000 до $12000. Назовите столбцы Employee и Monthly Salary, соответственно. Вновь сохраните команду SQL в файле lab2_6.sql. Выполните запрос. SELECT first_name as "Employee", salary as "Monthly Salary" FROM employees where salary>5000 and salary<12000 and department_id in (20,50)
EMPLOYEE |
Monthly Salary |
Mourgos |
5800 |
Fay |
6000 |
Выведите фамилию и дату найма всех служащих, нанятых в 1994 г. SELECT last_name, hire_date FROM employees where hire_date>'31-DEC-93' and hire_date<'1-JAN-95'
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 |
Выведите фамилию, и комиссионные всех служащих, зарабатывающих комиссионные. Отсортируйте данные в порядке убывания окладов и комиссионных. SELECT LAST_NAME, SALARY, COMMISSION_PCT FROM employees where commission_pct is not null Order by commission_pct desc
LAST_NAME |
SALARY |
COMMISSION_PCT |
Abel |
11000 |
.3 |
Zlotkey |
10500 |
.2 |
Taylor |
8600 |
.2 |
Grant |
7000 |
.15 |
Выведите все фамилии служащих, в которых третья буква – а. SELECT LAST_NAME FROM employees where last_name like '__a%'
LAST_NAME |
Grant |
Whalen |
Выведите фамилии всех служащих, в которых есть буквы «а» и «е». SELECT LAST_NAME FROM employees where last_name like '%a%' and last_name like '%e%'
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 = 'ST_CLERK' or job_id = 'SA_REP') and salary not in (2500,3500,7000)
LAST_NAME
JOB_ID
SALARY
Davies
ST_CLERK
3100
Matos
ST_CLERK
2600
Abel
SA_REP
11000
Taylor
SA_REP
8600
Измените lab2_6.sql так, чтобы получить фамилии оклады и комиссионные всех служащих, у которых сумма комиссионных превышает 20%. Выполните запрос ещё раз. Сохраните запрос в файле lab2_13.sql.
SELECT LAST_NAME as "Employee", SALARY as "Monthly Salary", COMMISSION_PCT FROM employees where commission_pct is not null and commission_pct>.2 Order by commission_pct desc
Employee |
Monthly Salary |
COMMISSION_PCT |
Zlotkey |
10500 |
.2 |
Taylor |
8600 |
.2 |