Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD / Labs / Russian / Lab4R-SELECTBasicFeatures.doc
Скачиваний:
39
Добавлен:
20.02.2016
Размер:
346.62 Кб
Скачать

Операторы is null и is not null.

Оператор IS NULL. Оператор IS NULL позволяет проверить значение столбца на null-значение. Он дает TRUE, если значение столбца NULL, и FALSE, если значение столбца не null.

Пример14 – Проверка на значение NULL:Выдать преподавателей, у которых не определены значения столбцов Salary или Commission:

SELECT Name

FROM TEACHER

WHERE Salary IS NULL OR Commission IS NULL;

Оператор IS NOT NULL. Является отрицание к оператору IS NULL.

Функция NVL. Она имеет синтаксис NVL(expr1, expr2). Если expr1 равно null, то возвращает expr2; если же не null, то возвращаетexpr1. Она позволяет вывести специальное значение, если значение столца равно null.

Пример15. Функция NVL:Вывести факультеты и их фондами. Если фонд не определен, то вывести строку “Fund not defined”

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

FROM FACULTY;

Варианты заданий

Далее приводится 18 вариантов заданий. Каждый вариант состоит из 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, и имеет должность доцента

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