
- •Лабораторная работа 4
- •Цели лабораторной работы
- •Описание и примеры
- •Основные фразы запроса: select и from Фраза select
- •Фраза from
- •Фраза where
- •Использование простых условий Использование операторов сравнения
- •Логические операторы
- •Выражение над столбцами во фразе where
- •Специальные операторы Оператор in
- •Оператор between
- •Оператор like
- •Операторы is null и is not null.
- •Варианты заданий
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Вариант 17
- •Вариант 18
- •Контрольные вопросы
- •Приложения Приложение a. Операторы sql Oracle
- •Унарные и бинарные операторы
- •Старшинство операторов
- •Арифметические операторы
- •Оператор конкатенации
- •Операторы сравнения
- •Логические операторы
- •Теоретико-множественные операторы
- •Приложение b. Выражения
- •Простые выражения
Вариант 18
1) По каждому преподавателю выведите его имя и разность между датой приема на работу и деления ставки на надбавку (столбец с именем «Выражение»). Что получается в результате вычисления hiredate - (Salary/Commission)?
2) По каждой аудитории корпуса 6 вывести ее номер и названия кафедр, на которых проволятся занятия в этой аудитории студентам 1 курса.
3) Вывести названия факультетов, студентам которых преподают преподаватели кафедры ИПО
4) Вывести названия факультетов, преподаваетели-профессора которых имеют занятия на парах в диапазоне 2-6
5) Вывести номера аудиторий и их корпуса, в которых преподаватели-ассистенты проводят занятия типа 'лабораторная' в один из следующих дней: понедельник, середа, четверг, суббота.
6) Вывести пары имен преподавателей, удовлетворяющих следующему условию: первый преподаватель является куратором группы, имеющей рейтинг больше, чем в два раза, рейтинга группы, куратором которой является второй преподаватель
7) Вывести имена преподавателей и дату поступления их на работу, которые НЕ удовлетворяют следующему условию:
их ставка (salary) больше 2000 или их надбавка (commission) больше одной четвертой части ставки И
их непосредственный руководитель был принят на работу либо в диапазоне дат 01.01.1995-31.12.1996 либо в диапазоне дат 01.01.1998-07.08.1999 И
их непосредственный подчиненный либо является ассистентом либо имеет зарплату (salary+commission) в диапазоне 2000-3000
Контрольные вопросы
Ответьте на следующие вопросы:
1) Как можно специфицировать вывод всех столбцов таблицы?
2) Зачем необходимо квалифицировать имена столбцов? Как это делается?
3) Содержит ли результат запроса повторяющиеся строки? Как можно удалить повторяющиеся строки?
Что собой преставляет значение выражения, содержащего значение null?
Зачем необходимо квалифицировать имена столбцов во фразе FROM? Как это делается?
Следующие предложения ошибочные. Почему?
a) Select *
b) Select * from teacher
c) select name post salary FROM teacher;
Что выводит следующий запрос:
SELECT *
FROM TEACHER
WHERE Salary < 300 OR
NOT(Hiredate = TO_DATE('17.06.2002', 'dd.mm.yyyy') AND
UPPER(Post) != 'professor');
Как можно соединить две или более таблицы.
Что такое внешнее соединение? Сформулируйте и запишите запрос с внешним соединением.
Что собой представляет таблица DUAL?
Представьте истинностную таблицу для логических операторов NOT, AND, OR.
Приложения Приложение a. Операторы sql Oracle
Оператор оперирует индивидными элементами данных и возвращает результат. Элементы данных в операторе называются операндами или аргументами. Операторы представляются специальными символами или ключевыми словами. Например, оператор умножения представляется символом звездочка (*), а оператор проверки на значение nulls представляется ключевым словом IS NULL.
Унарные и бинарные операторы
The two general classes of operators are:
унарные |
Унарный оператор имеет один операнд. Обычно унарные операторы имеет следующий формат: operator operand. |
binary |
Бинарный оператор имеет два операнда и имеет следующий формат: operand1 operator operand2. |
Имеются также специальные операторы с более чем два операнда
. Если оператор имеет операнд со значением null, то значение оператора равно всегда null. Единственным оператором, на который не распространяется это условие является оператор конкатенации строк (||).