Лр3_щербак. Лабораторная работа 3. Лабораторная работа 3 Разработка запросов к бд
Скачать 184.5 Kb.
|
Лабораторная работа № 3 Разработка запросов к БД Цель работы: научиться использовать оператор Select. Выполните следующие задания: 1) Выполните выборку всех строк из таблицы works_on. 2) Выполните выборку т табельных номеров всех сотрудников с должностью клерк (clerk). 3) Выполните выборку табельных номеров всех сотрудников, которые работают над проектом p2 и чей табельный номер меньше, чем 10 000. Решите эту задачу, используя два различных, но эквивалентных запроса с инструкцией SELECT. 4) Выполните выборку табельных номеров всех сотрудников, которые не приступили к работе над проектом в 2007 г. 5) Выполните выборку табельных номеров всех сотрудников проекта p1 с ведущими должностями (т. е. аналитик — analyst и менеджер — manager). 6) Выполните выборку всех сотрудников проекта p2, чья должность еще не определена. 7) Выполните выборку табельных номеров и фамилий сотрудников, чьи имена содержат две буквы "t". 8) Выполните выборку табельных номеров и имен всех сотрудников, у которых вторая буква фамилии "o" или "a" (буквы английские) и последние буквы фамилии "es". 9) Выполните выборку табельных номеров сотрудников, чьи отделы расположены в Сиэтле (Seattle). 10) Выполните выборку фамилий и имен сотрудников, которые приступили к работе над проектами 4 января 2007 г. 11) Сгруппируйте все отделы по их местонахождению. 12) Объясните разницу между предложениями DISTINCT и GROUP BY. 13) Как предложение GROUP BY обрабатывает значения NULL? Подобна ли эта обработка обычной обработке этих значений? 14) Объясните разницу между агрегатными функциями COUNT(*) и COUNT(column). 15) Выполните выборку наибольшего табельного номера сотрудника. 16) Выполните выборку должностей, занимаемых больше, чем двумя сотрудниками. 17) Выполните выборку табельных номеров сотрудников, которые или имеют должность клерк clerk, или работают в отделе d3. 18) Объясните, почему следующий запрос неправильный. SELECT project_name FROM project WHERE project_no in (SELECT project_no FROM works_on WHERE Job = 'Clerk') Исправьте синтаксис запроса. 19) Создайте следующие соединения таблиц project и works_on, выполнив: естественное соединение; декартово произведение. 20) Сколько условий соединения необходимо для соединения в запросе n таблиц? 21) Выполните выборку табельного номера сотрудника и должности для всех сотрудников, работающих над проектом Gemini. 22) Выполните выборку имен и фамилий всех сотрудников, работающих в отделе Research или Accounting. 23) Выполните выборку всех дат начала работы для всех клерков (clerk), работающих в отделе d1. 24) Выполните выборку всех проектов, над которыми работают двое или больше сотрудников с должностью клерк (clerk). 25) Выполните выборку имен и фамилий сотрудников, которые имеют должность менеджер (manager) и работают над проектом Memory. 26) Выполните выборку имен и фамилий всех сотрудников, которые начали работать над проектом одновременно, по крайней мере, еще с одним другим сотрудником. 27) Выполните выборку табельных номеров сотрудников, которые живут в том же городе, где находится их отдел. (Используйте расширенную таблицу employee_no базы данных sample.) 28) Выполните выборку табельных номеров всех сотрудников, работающих в отделе маркетинга marketing. Создайте два равнозначных запроса, используя: оператор соединения; связанный подзапрос |