NetNado
  Найти на сайте:

Учащимся

Учителям



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

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


  1. Составление запросов, требующих использования числовых, символьных функций и функций для работы с датами.

  2. Использование конкатенации с функциями.

  3. Составление запросов, нечувствительных к регистру символов, для проверки полезности символьных функций.

  4. Вычисление продолжительности работы служащего в месяцах и годах.

  5. Определение даты аттестации служащего.

  1. Для каждого служащего выведите фамилию и вычислите количество месяцев со дня найма до настоящего времени, округлённое до ближайшего целого. Назовите столбец MONTH_WORKED. Результаты отсортируйте по количеству отработанных месяцев. Округлите число до ближайшего целого.

LAST_NAME

MONTH_WORKED

Zlotkey

13

Mourgos

16

Grant

22

Lorentz

25

Vargas

32

Taylor

36

Matos

36

Fay

43

……………..

20 rows selected
select LAST_NAME, DateDiff('m',HIRE_DATE,now()) as MONTH_WORKED from EMPLOYEES;


  1. Получите по каждому служащему отчёт в следующем виде:
    <фамилия> зарабатывает <оклад> в месяц, но желает <утроенный оклад>. Назовите столбец Dream Salaries


Dream Salaries

King earns $24,000.00 monthly but wants $72,000.00

Kochhar earns $17,000.00 monthly but wants $51,000.00

De Haan earns $17,000.00 monthly but wants $51,000.00

Hunold earns $9,000.00 monthly but wants $27,000.00

Ernst earns $6,000.00 monthly but wants $18,000.00

Lorentz earns $4,200.00 monthly but wants $12,600.00

Mourgos earns $5,800.00 monthly but wants $17,400.00

Rajs earns $3,500.00 monthly but wants $10,500.00

Davies earns $3,100.00 monthly but wants $9,300.00


…………

20 rows selected
select LAST_NAME+' зарабатывает $'+CStr(SALARY)+' в месяц, но желает $'+CStr(SALARY*3) as `Dream Salaries` from EMPLOYEES;




  1. Напишите запрос для вывода фамилий и окладов всех служащих. Назовите выходной столбец SALARY. Длина столбца SALARY – 15 символов с заполнением символом $.

LAST_NAME

SALARY

King

$$$$$$$$$$24000

Kochhar

$$$$$$$$$$17000

De Haan

$$$$$$$$$$17000

Hunold

$$$$$$$$$$$9000

Ernst

$$$$$$$$$$$6000

Lorentz

$$$$$$$$$$$4200

Mourgos

$$$$$$$$$$$5800

Rajs

$$$$$$$$$$$3500

Davies

$$$$$$$$$$$3100

Matos

$$$$$$$$$$$2600

………………

20 rows selected
select LAST_NAME, String(15-Len(CStr(SALARY)),'$')+CStr(SALARY) from EMPLOYEES;


  1. Для каждого служащего выведите фамилию, дату найма и дату пересмотра зарплаты, которая приходится на первый понедельник после 6 месяцев работы. Назовите столбец REVIEW. Формат даты при выводе имеет вид: “Monday, the Thirty-First of MM, YYYY”.

LAST_NAME

HIRE_DATE

REVIEW

King

17-JUN-87

Monday, the Thirty-First of December, 1987

Kochhar

21-SEP-89

Monday, the Thirty-Sixth of March, 1990

De Haan

13-JAN-93

Monday, the Nineteenth of July, 1993

Hunold

03-JAN-90

Monday, the Ninth of July, 1990

…………………

20 rows selected
select LAST_NAME, HIRE_DATE, StrConv(WeekDayName(WeekDay(

DateAdd('d',9-WeekDay(DateAdd('m',6,HIRE_DATE)),DateAdd('m',6,HIRE_DATE))

),false,1),3)+', '+CStr(Day(

DateAdd('d',9-WeekDay(DateAdd('m',6,HIRE_DATE)),DateAdd('m',6,HIRE_DATE))

))+' '+MonthName(Month(

DateAdd('d',9-WeekDay(DateAdd('m',6,HIRE_DATE)),DateAdd('m',6,HIRE_DATE))

),true)+', '+ CStr(Year(

DateAdd('d',9-WeekDay(DateAdd('m',6,HIRE_DATE)),DateAdd('m',6,HIRE_DATE))

)) as REVIEW from EMPLOYEES;


  1. По каждому служащему выведите фамилию, дату найма и день недели, когда он был нанят на работу. Назовите последний столбец DAY. Отсортируйте результаты по датам.

LAST_NAME

HIRE_DATE

DAY

Grant

24-MAY-99

MONDAY

Ernst

21-MAY-91

TUESDAY

Mourgos

16-NOV-99

TUESDAY

Taylor

24-MAR-98

TUESDAY

Rajs

17-OCT-95

TUESDAY

Gietz

07-JUN-94

TUESDAY

Higgins

07-JUN-94

TUESDAY

King

17-JUN-87

WEDNESDAY

De Haan

13-JAN-93

WEDNESDAY

………………

20 rows selected
select LAST_NAME, HIRE_DATE, StrConv(WeekDayName(WeekDay(HIRE_DATE),false,1),3) as DAY from EMPLOYEES;

  1. Напишите запрос для вывода фамилии и суммы комиссионных каждого служащего. Если служащий не зарабатывает комиссионных, укажите в столбце «No Commission». Назовите столбец COMM.

LAST_NAME

COMM

King

No Commission

Kochhar

No Commission

De Haan

No Commission

Hunold

No Commission

Ernst

No Commission

Lorentz

No Commission

Mourgos

No Commission

Rajs

No Commission

Davies

No Commission

Matos

No Commission

Vargas

No Commission

Zlotkey

.2

Abel

.3

…………….

20 rows selected
select LAST_NAME, Iif(COMMISSION_PCT is null,'No Commission',COMMISSION_PCT) as COMM from EMPLOYEES;



  1. Используя функцию Iif, напишите запрос для отображения должности сотрудника и её разряда (grade). Разряд каждого типа должности JOB_ID приведён в таблице.

Должность

Разряд

AD_PRES

A

ST_MAN

B

IT_PROG

C

SA_REP

D

ST_CLERK

E

Другая

0




JOB_ID

G

AD_PRES

A

AD_VP

0

AD_VP

0

IT_PROG

C

IT_PROG

C

IT_PROG

C

ST_MAN

B

ST_CLERK

E

…………………..

20 rows selected


select LAST_NAME, JOB_ID,

Iif(JOB_ID='AD_PRES','A',

Iif(JOB_ID='ST_MAN','B',

Iif(JOB_ID='IT_PROG','C',

Iif(JOB_ID='SA_REP','D',

Iif(JOB_ID='ST_CLERK','E','0'

))))) as G from EMPLOYEES;

страница 1 ... страница 2страница 3страница 4страница 5страница 6


скачать

Другие похожие работы:

Документы

архив: 1 стр.

Документы

архив: 1 стр.

Документы

архив: 1 стр.

Документы

архив: 1 стр.

Документы

архив: 1 стр.

Документы

архив: 1 стр.

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

Лабораторная работа: 6 стр.

Документы

архив: 1 стр.