Выборка данных

Автор работы: Пользователь скрыл имя, 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. Напечатать названия должностей, которые повторяются среди работающих сотрудников

Прикрепленные файлы: 1 файл

pr3_select (1).doc

— 49.00 Кб (Скачать документ)

ЦК "Информатики, программирования и программных средств", преподаватель Е.А.Ларионова            РЭУБД 2010/11

Практическая работа № 3 

Тема: “Выборка данных ”

Цель: Освоить команду Select

Задание

Выполните задания согласно варианту:

Чётные номера-2 вариант, нечётные номера-1 вариант

Вариант 1

  1. Выбрать сотрудников, фамилии которых начинаются на букву, совпадающую с начальной  буквой вашей фамилии
  2. Выбрать 5 самых молодых сотрудников
  3. Выбрать сотрудников со 2 по 7 из списка, упорядоченного по фамилии и имени
  4. Получить список сотрудников, у которых будет юбилей (20, 25, 30, 35, 40, 45, 50, 55 и т. д.) в текущем году в виде:  назв.подразделения  ФИО  должность возраст месяц рождения день рождения Список отсортировать по возрасту
  5. Создать представление, в котором выводятся названия подразделений и средние оклады по тем подразделениям, в которых максимальный оклад служащего превышает 5 000 руб
  6. Посчитать количество  мужчин и женщин среди сотрудников
  7. Напечатать фамилии и оклады служащих, у которых оклад больше, чем у сотрудника с заданным номером
  8. Напечатать названия должностей, которые повторяются среди работающих сотрудников

Вариант 2

  1. Выбрать сотрудников, фамилии которых содержат буквы ‘е’ и ‘а’
  2. Выбрать последних трёх сотрудников из списка, упорядоченного по фамилии
  3. Выбрать сотрудников с 3 по 5 из списка, упорядоченного по фамилии по алфавиту
  4. Получить список сотрудников, которые достигнут пенсионного возраста (женщины- 55лет, мужчины -60 лет в текущем году в виде:   назв.подразделения  ФИО пол должность возраст дата рождения Список отсортировать по назв.подразделения
  5. Создать представление, в котором выводится общая сумма окладов по каждому подразделению, если эта сумма превышает 20000 руб
  6. Создать представление, в котором выводятся названия подразделений и количество служащих по каждому подразделению, если это количество превышает 5 человек
  7. Создать запрос для вывода фамилии и даты приёма каждого служащего, работающего в одном подразделении со  служащим заданным номером. Исключите из списка  фамилию служащего заданным номером
  8. Напечатать названия подразделений, в которых количество мужчин больше количества женщин

 

 

Порядок выполнения работы

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, дата) 

Возвращает номер дня недели, начиная с воскресенья

 

 

Контрольные вопросы

  • Назначение top, distinct, order by в операторе Select
  • Перечислите встроенные функции MS Sql Server
  • Как можно использовать выражения в операторе Select

 

Отчёт по практической работе № 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

 

 

 

 

 

 

 

Ответы на контрольные вопросы

 

  1. Назначение top, distinct, order by в операторе Select

Top предназначен для выбора конкретного количества записей 
Distinct - фильтрует одинаковые записи

Order by - сортировка по убыванию/возрастанию

  1. Перечислите встроенные функции MS Sql Server

Sum, count, avg, left, rigth, getdate, convert и т.д.

  1. Как можно использовать выражения в операторе Select

Выражения в операторе Select можно использовать для элементарных арифметических подсчётов в выводе новых столбцов, для групповых операций, использовать встроенные функции, что позволяет увеличить функционал и удобство работы с sql

 

 

 

 

Выводы о полученных практических навыках

Улучшены знания о "тонкостях" ms sql 2008, укреплены теоретические навыки sql  в общем, а также ознакомлены с понятием "представления".

 

 

Дата       _____________                            оценка __________________ подпись преподавателя  ______________ замечание     


Информация о работе Выборка данных