Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD / Labs / English / Lab4-SELECT statement basic features.doc
Скачиваний:
22
Добавлен:
20.02.2016
Размер:
347.14 Кб
Скачать
        1. Operators is null and is not null.

IS NULL operator. Operator IS NULL allows to test column value for null. It evaluates to TRUE if column value is NULL and to FALSE if column value is not null.

Example 14 - Test null value: Select teachers with undefined values of salary or Commission:

SELECT Name

FROM TEACHER

WHERE Salary IS NULL OR Commission IS NULL;

IS NOT NULL operator. It is negation of IS NULL operator.

Function NVL. It has the syntax NVL(expr1, expr2). If expr1 is null, returns expr2; if is not null, returns expr1. It allows to output special value if the column in question have null value.

Example15. NVL function: Output faculties with their funds. If fund is not defined output the string “Fund not defined”

SELECT Name, NVL(Fund, 'Fund not defined')

FROM FACULTY;

  1. Oracle Lab tasks

Далее приводится 15 вариантов заданий. Каждый вариант состоит из 7 запросов, которые относятся к следующим категориям (в порядке их следования):

  1. Выражения во фразе SELECT

  2. Соединение таблиц

  3. Многократное соединение одной и той же таблицы

  4. Использование предиката BETWEEN

  5. Использование предикатов IN и LIKE

  6. Внешнее соединение, соединение не по предикату равенства

  7. Использование сложных логических условий

ВНИМАНИЕ. В предлагаемых запросах используются константы (имена преподавателей, названия кафедр и факультетов, названия дисциплин), которые могут отсутствовать в вашей базе данных. ЗАМЕНЯЙТЕ ИХ НА ТЕ, КОТОРЫЕ ДЕЙСТВИТЕЛЬНО ИМЕЮТСЯ В ВАШЕЙ БАЗЕ ДАННЫХ!

    1. Вариант 1

1) Для каждого из преподавателей из таблицы TEACHER выведите его имя, должность, ставку, надбавку, процент надбавки по отношению к ставке (имя этого столбца «Процент1») и процент ставки по отношению к надбавке (имя этого столбца «Процент1»).

2) По каждому факультету вывести его название и название дисциплин, читаемых преподавателями-профессорами этого факультета

3) Вывести подчиненных подчиненных Сидорова

4) Вывести названия кафедр факультета 'компьютерные науки' с фондом финансирования в диапазоне 250000-350000

5) Вывести имена преподавателей-профессоров, которые работают на факультетах, расположенных в корпусах 2,3,6,7,8,10

6) Вывести названия кафедр и имена преподавателей, которые на них работают. Причем, если на какой-то кафедре нет преподавателей, то эта кафедра все равно выводится, а вместо имени преподавателя выводится строка 'NULL'

7) Вывести имена преподавателей факультета 'компьютерные науки' со ставкой больше 1200 ИЛИ преподавателей факультета 'компьютерные системы' со ставкой больше 1500

    1. Вариант 2

1 Для каждого из преподавателей из таблицы TEACHER выведите его имя, ставку+надбавку, процент ставки по отношению к ставке+надбавке (имя этого столбца «Результат1»), процент надбавки по отношению к ставке+надбавке (имя этого столбца «Результат2»)

2) Вывести названия факультетов и дисциплин, которые читаются на этих факультетах преподавателями-доцентами, являющимися кураторами студентов 1-го курса

3) Вывести руководителя руководителя Иванова

4) Вывести имена преподавателей факультета 'компьютерные науки' с зарплатой (salary+commission) в диапазоне 1000-1500

5) Вывести имена кафедр факультета 'компьютерные науки', на которых имеются группы с рейтингами 12, 17, 25, 29, 33, 43, 50

6) Вывести названия кафедр, номера и курс групп этих кафедр. Если на какой-то кафедре нет групп, то эта кафедра все равно выводится, а вместо номера группы и курса выводятся цифры 0. Причем, столбцы результирующей таблицы имеют следующие имена:

Столбец имени кафедры – Кафедра

Столбец номера группы – Группа

Столбец курса - Курс

7) Вывести имена и должности преподавателей, которые НЕ удовлетворяют следующему условию:

преподаватель работает на факультете, расположенном в корпусе 4, и имеет должность ассистента ИЛИ работает на факультете, расположенном в корпусе 6, и имеет должность доцента

Соседние файлы в папке English