- •Практические задания по теме «язык запросов sql»: выборка данных из базы данных.
- •Ограничение количества выбираемых строк.
- •Получить информацию по служащим в следующем виде:
- •Однострочные функции
- •Выборка данных из нескольких таблиц
- •Групповые функции
- •Подзапросы
- •Создание таблиц
- •Определение переменных во время выполнения
- •Словарь данных oracle
- •Изменение таблиц и ограничений
- •Манипулирование данными
- •Последовательности
- •Представления
- •Индексы
- •Управление доступом пользователей
Выборка данных из нескольких таблиц
Вывести название фирмы клиента и название региона, где она располагается.
Получить фамилию, название отдела и название региона для всех служащих, получающих комиссионные. Отсортировать список по фамилиям.
Вывести фамилии служащих и фамилии их начальников так, чтобы в список вошли служащие, у которых нет начальника. Для служащих, у которых нет начальника, вместо фамилии начальника должно выводиться пустое поле.
Вывести фамилию служащего и название отдела, где он работает, для всех служащих, работающих в Азии.
Вывести фамилию служащего, название отдела, где он работает, название региона, где находится отдел, название фирмы-клиента, чьим торговым представителем является служащий, и ставку его комиссионного процента. Список отсортировать в порядке убывания комиссионного процента.
Получить фамилии служащих и название региона для служащих, работающих в Азии, Африке или Америке.
Получить название фирмы-клиента, город, страну и название региона, где она располагается, и фамилию ее торгового представителя. В список необходимо включить названия фирм, не имеющих торгового представителя. Список отсортировать в следующем порядке: фамилия, название фирмы, город, страна, регион.
Получить фамилию служащего, его должность, название отдела, где он работает, фамилию начальника, должность начальника и название отдела, где работает начальник. Список отсортировать по фамилиям начальников и по фамилиям служащих.
Получить фамилии служащих и названия фирм, торговыми представителями которых они являются для фирм, в названии которых присутствует слово «sport».
Получить фамилии служащих и название региона, где работает служащий, для служащих, работающих в отделах “Sales” или “Operations”. Список отсортировать по фамилиям служащих.
Создать запрос для вывода номера отдела, фамилии служащего и фамилий всех служащих, работающих в одном отделе с данным служащим. Создать для столбцов соответственно псевдонимы «Служащий» и «Коллега».
Создать запрос для вывода фамилии служащего, его зарплаты и категории зарплаты.
Групповые функции
Составить запрос для вывода минимальной и максимальной зар. платы по всем должностям в алфавитном порядке.
Определить кол-во начальников без вывода информации о них.
Получить номер каждого начальника, кол-во его подчиненных и зар. плату самого низкооплачиваемого из его подчиненных. Исключить группы с минимальной зар. платой менее 1000. Отсортировать результат по размеру зар. платы.
Вычислить разницу между самой высокой и самой низкой зар. платой.
Получить список номеров и названий всех регионов с указанием кол-ва отделов в каждом регионе.
Вычислить среднее количество фирм-клиентов по всем торговым представителям.
Создать запрос для вывода общего количества служащих и количеств служащих, нанятых в 1990, 1991 и 1992 годах. Создать для столбцов псевдонимы «Общее количество», «1990», «1991», «1992».
Подзапросы
Получить фамилию, имя и должность всех служащих, работающих в одном отделе со служащим по фамилии “Magee”.
Получить номер, фамилию и зар. плату для служащих, чья зар. плата больше средней.
Получить фамилию, номер отдела и должность для всех служащих, работающих в регионах с номерами 1 или 2.
Получить фамилию и зар. плату всех подчиненных служащего по фамилии “Ngao”.
Получить номер и фамилию каждого служащего, чья зар. плата меньше средней, и который работает в одном отделе с любым сотрудником, фамилия которого содержит букву “t”.
Создать запрос для вывода фамилии, номера отдела и зарплаты всех служащих, чьи номер отдела и зарплата совпадают с номером отдела и зарплатой любого служащего, получающего комиссионные.
Получить номера и фамилии служащих, которые являются торговыми представителями хотя бы у одного клиента. (Задание следует выполнить при помощи квантифицированного подзапроса)
Вывести номер и наименование фирмы-клиента, а также кредитный рейтинг и фамилию его торгового представителя для всех клиентов, которые находятся в Северной Америке, или чьим торговым представителем является служащий по фамилии “Nguyen”.
Получить наименование и кредитный рейтинг всех клиентов, чьим торговым представителем является служащий по фамилии “Dumas”.
Вывести фамилию каждого торгового представителя в регионах с номером 1 или 2, и наименования их клиентов.
Получить список номеров и фамилий служащих, которые работают в отделах «Sales» или «Operations», используя только подзапросы (в предложении FROM указывать не более 1 таблицы).
Получить фамилию служащего, название отдела и зарплату для всех служащих, чьи зарплата и комиссионные совпадают с зарплатой и комиссионными любого служащего, работающего в отделе «Operations». (Следует обработать ситуацию, когда значение комиссионного процента служащих неопределенно)
Создать запрос для вывода фамилии, должности и зарплаты для всех служащих, чья зарплата превышает зарплату любого клерка (Stock Clerk).
Получить номера и названия отделов, в которых не работает ни одного служащего.
Получить номер и название региона, в котором максимальное количество отделов.
Получить номер и фамилию начальника, у которого минимальное количество подчиненных.
Для каждого торгового представителя вычислить количество фирм-клиентов, у которых он является торговым представителем.
Получить номера, названия регионов и названия отделов, для регионов, в которых имеются отделы со всеми названиями.
Получить номер и название отдела, а также номер, фамилию и зарплату сотрудника для служащих, чья зарплата является максимальной в том отделе, где работает сотрудник.
Получить номера всех пар служащих, которые являются торговыми представителями у одинакового числа фирм-клиентов (исключить комбинации номеров с самими собой и зеркальные комбинации)
Получить номера всех пар регионов, в которых содержится одинаковое количество отделов (исключить комбинации номеров с самими собой и зеркальные комбинации)
Получить номера и названия регионов, в которых имеются все отделы с теми же названиями, которые есть в Европе
