русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Создание групп данных


Дата добавления: 2015-07-09; просмотров: 1336; Нарушение авторских прав


 

SELECT поле1, групповая функция (поле2) [,…] FROM таблица

GROUP BY поле1

[HAVING условие отбора для групповых данных]

 

GROUP BY

разбивает таблицу на группы, групповая функция возвращает один результат на группу

 

Примечание 1. Список столбцов (полей) в GROUP BY обязателен.


Примечание 2. Использование псевдонимов не допустимо.

Примечание 3. Все столбцы, которые входят в список SELECT и к которым не применяются групповые функции, должны быть указаны в GROUP BY.

Групповые функции работают с множеством строк и возвращают один результат на группу.

Множество строк может быть целой таблицей или таблицей разбитой на группы.

Групповые функции

COUNT(поле) – считает только те записи, в которых задано значение

COUNT(*) – считает все записи

AVG(поле) и SUM(поле) применяются к числовым полям

MAX(поле) и MIN(поле) – к полям любого типа

 

Задание1
Посчитать количество студентов в каждой группе

 

SELECT gr AS [группа], COUNT(n) AS [количество] FROM student

GROUP BY gr

 

Изменение данных в таблице

UPDATE таблица SET поле1=новое значение1 [,поле2=новое значение2…] [WHERE условия отбора]

 

ПРИМЕР

Поменять фамилию студентки из группы П-323

UPDATE student SET fam=“Кузнецова” WHERE fam=“Иванова” AND gr=“П323”

Удаление записей

DELETE * FROM таблица [WHERE условия отбора]

 

ПРИМЕР

Удалить из таблицы сотрудники тех сотрудников, у которых трудовой стаж меньше года.

DELETE * FROM sort WHERE year(NOW())-year([date])<1

Добавление записи в таблицу:INSERT INTO имя_таблицы [(поле1[,поле2[, ...]])] VALUES (значение1 [,значение2 [, ...]) Пример: INSERT INTO Сотрудники (Номер, Имя, Фамилия, Должность) VALUES (5, 'Борис', 'Колесников', 'Ученик'); Если номер-счётчик, его значение не вводится. Контрольные вопросы:
  1. Назначение предикатов distinct и top в операторе SELECT.
  2. Назначение ключевого слова GROUP BY в операторе SELECT.
  3. Назовите групповые функции и их назначение.
  4. Чем отличается условие отбора записей, указанное в WHERE, от условия отбора записей в HAVING?
  5. Может ли в групповом запросе отсутствовать GROUP BY? Если может, то в каком случае?

 



Отчёт

по практической работе №6

студента Талайбек Уулу Ынтымак группы З-207к

 

Тема: «Сложные запросы»

 

Цель: «Научиться писать запросы к БД на языке SQL»

 

Выполнение работы

 

Записать отлаженные SQL команды:

 

1. SELECT TOP 3 Фамилия

FROM Студенты

ORDER BY Фамилия DESC

 

2. SELECT DISTINCT Студенты.Код_специальности

FROM Студенты

WHERE (((Студенты.[Код_специальности])<>"Ложь"));

 

3. SELECT Студенты.Фамилия

FROM Студенты

WHERE Студенты.Фамилия Like "[АМ*АНВ]*";

 

4. SELECT Имя

FROM Студенты

WHERE пол=[Введите пол]

 

5. UPDATE Студенты

SET Фамилия = [введите фамилию]

WHERE Номер=(select top 1 Номер FROM Студенты WHERE Пол=[введите пол] ORDER BY

Номер desc);

 

6. DELETE *

FROM Студенты

WHERE year(now())-Year(дата_рождения)>20;

 

7. UPDATE Студенты SET Группа = Left(Группа,2) & Mid(Группа,3,1)+1 &Right (Группа,2)

WHERE Mid(Группа,3,1)<4

 

8. SELECT TOP 1 Студенты.Имя, Count(*) AS Выражение1

FROM Студенты

WHERE (((Студенты.[Пол])=[Введите пол]))

GROUP BY Студенты.Имя

ORDER BY Count(*) DESC;

 

9. SELECT TOP 1 Оценка, Count(*) AS Количество1

FROM Успеваемость

WHERE (((Успеваемость.[Оценка])=[Введите Оценку]))

GROUP BY Успеваемость.Оценка

ORDER BY Count(*) DESC;

 

10. SELECT Студенты.Дата_рождения

FROM Студенты

WHERE Day (Дата_рождения)<=15

 

SELECT Студенты.Дата_рождения

FROM Студенты

WHERE Day (Дата_рождения)>= 15

 

 

11. SELECT TOP 1 Группа, Count(*)

FROM Студенты

GROUP BY Студенты.Группа

ORDER BY Count(*) DESC;

 

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

 

1. Предикат DISTINCT предназначен для удаления строк – дубликатов.

Предикат TOP позволяет выбрать первые n отсортированных записей.

 

2.GROUP BY разбивает таблицу на группы, групповая функция возвращает один результат на

группы.

 

3. COUNT(поле) – считает только те записи, в которых задано значение

COUNT(*) – считает все записи

AVG(поле) и SUM(поле) применяются к числовым полям

MAX(поле) и MIN(поле) – к полям любого типа

COUNT(поле) – считает только те записи, в которых задано значение

COUNT(*) – считает все записи

AVG(поле) и SUM(поле) применяются к числовым полям

MAX(поле) и MIN(поле) – к полям любого типа

 

4. WHERE условия отбора, а HAVING условие отбора для групповых данных.

 

5. GROUP BY не является обязательным предложением.

Если оно присутствует в предложении SELECT, то располагается после предложения FROM.

Если используются групповые функции, а предложение

GROUP BY отсутствует, то роль группы играет вся совокупность исходных записей запроса.

 

 

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

 

Я научился писать запросы на языке SQL.

 

Дата 03.05.2015 оценка подпись преподавателя

 

 



<== предыдущая лекция | следующая лекция ==>
Базовые команды SQL языка | Оптимальні параметри мікроклімату для категорій робіт


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.049 сек.