Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
blablabla.docx
Скачиваний:
2
Добавлен:
25.04.2019
Размер:
326.2 Кб
Скачать

Лабораторная работа 2

  • Выборка данных и изменение последовательности вывода строк

  • Ограничение количества возвращаемых строк с помощью предложения WHERE

  • Сортировка строк с помощью предложения ORDER BY

  1. Создайте запрос для вывода имени и заработной платы служащих, зарабатывающих более $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

  1. Создайте запрос для вывода фамилии и номера отдела служащего под номером 176

SELECT last_name, department_id FROM employees where employee_id=176

LAST_NAME

DEPARTMENT_ID

Taylor

80

  1. Измените файл 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

  1. Выведите фамилию и номер отдела всех служащих из отделов 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

  1. Измените файл 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

  1. Выведите фамилию и дату найма всех служащих, нанятых в 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

  1. Выведите фамилии и должности всех служащих, не имеющих менеджера. SELECT last_name, job_id FROM employees where manager_id is null

LAST_NAME

JOB_ID

King

AD_PRES

  1. Выведите фамилию, и комиссионные всех служащих, зарабатывающих комиссионные. Отсортируйте данные в порядке убывания окладов и комиссионных. 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

  1. Выведите все фамилии служащих, в которых третья буква – а. SELECT LAST_NAME FROM employees where last_name like '__a%'

LAST_NAME

Grant

Whalen

  1. Выведите фамилии всех служащих, в которых есть буквы «а» и «е». SELECT LAST_NAME FROM employees where last_name like '%a%' and last_name like '%e%'

    LAST_NAME

    De Haan

    Davies

    Whalen

    Hartstein

  2. запросите фамилии, должности и оклады всех служащих, работающих торговыми представителями (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

  3. Измените 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]