Автор работы: Пользователь скрыл имя, 29 Марта 2014 в 08:15, практическая работа
Цель: Освоить команду Select
Задание
1. Выбрать сотрудников, фамилии которых начинаются на букву, совпадающую с начальной буквой вашей фамилии
2. Выбрать 5 самых молодых сотрудников
3. Выбрать сотрудников со 2 по 7 из списка, упорядоченного по фамилии и имени
4. Получить список сотрудников, у которых будет юбилей (20, 25, 30, 35, 40, 45, 50, 55 и т. д.) в текущем году в виде: назв.подразделения ФИО должность возраст месяц рождения день рождения Список отсортировать по возрасту
5. Создать представление, в котором выводятся названия подразделений и средние оклады по тем подразделениям, в которых максимальный оклад служащего превышает 5 000 руб
6. Посчитать количество мужчин и женщин среди сотрудников
7. Напечатать фамилии и оклады служащих, у которых оклад больше, чем у сотрудника с заданным номером
8. Напечатать названия должностей, которые повторяются среди работающих сотрудников
ЦК "Информатики, программирования и программных средств", преподаватель Е.А.Ларионова РЭУБД 2010/11
Цель: Освоить команду Select
Задание
Выполните задания согласно варианту:
Чётные номера-2 вариант, нечётные номера-1 вариант
Вариант 1
Вариант 2
Порядок выполнения работы
1-4 Создать представление в конструкторе, выполнить его, оператор Select скопировать в отчёт. В 4 пункте используйте встроенную функцию даты DATEDIFF ( datepart , startdate , enddate ) и оператор %, дающий остаток от деления, например, 13%5=3.
5-6 Для выполнения групповых запросов воспользоваться значком групповой операции в конструкторе представлений.
1.7-Создать запрос для получения оклада сотрудника с заданным номером, использовать его эквивалент на SQL языке в качестве подзапроса во внешнем запросе
2.7 Создать запрос для получения кода подразделении служащего с заданным номером, использовать его эквивалент на SQL языке в качестве подзапроса во внешнем запросе
Теоретическая подготовка( проводится дома)
Повторить формальное описание команды Select
SELECT
[ ALL | DISTINCT ] [ { TOP integer | TOP integer PERCENT }
select_list
[ INTO new_table ]
FROM table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
Встроенные функции даты
Year(дата)-->возвращает год от даты.
GetDate()-->возвращает текущую дату.
Month(дата)-->возвращает месяц от даты.
Day(дата)-->возвращает день от даты
DATENAME ( datepart , date )
--Возвращает название для части даты
select datename(day, дата) as число,
datename(weekday, дата) as день_недели
datename(week, дата) as номер_недели, datename(year,getdate()) as год,
datename(month, дата) as месяц,
datename(quarter, дата) as квартал
DATEPART( datepart , date )
Возвращает часть даты
DATEPART(weekday, дата)
Возвращает номер дня недели, начиная с воскресенья
Контрольные вопросы
Отчёт по практической работе № 3 студента _____________________ группы ___
Тема: “Выборка данных ”
Цель: Освоить команду Select
Выполнение работы
Эквиваленты запросов на SQL языке
1
use Pr_r_2
go
select * from Сотрудники
where Фамилия like '%ова'
go
2
use Pr_r_2
go
select top 3 * from Сотрудники
order by Дата_рождения desc
go
3
use Pr_r_2
go
select top 2 * from
(select top 7 * from Сотрудники
order by Фамилия,Имя) as t
order by Фамилия,Имя desc
go
6
use Pr_r_2
go
select COUNT(Пол)as Количество from Сотрудники
group by Пол
go
Ответы на контрольные вопросы
Top предназначен для выбора конкретного
количества записей
Distinct - фильтрует одинаковые записи
Order by - сортировка по убыванию/возрастанию
Sum, count, avg, left, rigth, getdate, convert и т.д.
Выражения в операторе Select можно использовать для элементарных арифметических подсчётов в выводе новых столбцов, для групповых операций, использовать встроенные функции, что позволяет увеличить функционал и удобство работы с sql
Выводы о полученных практических навыках
Улучшены знания о "тонкостях" ms sql 2008, укреплены теоретические навыки sql в общем, а также ознакомлены с понятием "представления".
Дата _____________