русс | укр

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

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

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

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


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

Предложение GROUP BY.


Дата добавления: 2013-12-23; просмотров: 664; Нарушение авторских прав


Связывание таблиц.

Предложение ORDER BY.

Предложение WHERE.

Предложение FROM.

Для указания имен таблиц, из которых выбираются записи, применяется FROM.

SELECT*

FROM Поставщики

В итоге возвратится полностью таблица «Поставщики» (все поля из таблицы «Поставщики»).

 

WHERE выражение1 [{AND|OR выражение2 […]}]

[] - не обязательно;

{} – может повторяться несколько раз;

| - или;

Пример1:

SELECT*

FROM Поставщики

WHERE Адрес_город=”Москва” AND Дата_договора=1998

Пример2:

SELECT наименование, цена

FROM товар

WHERE скидка IS NOT NULL

IS NOT NULL означает, что соответствующий столбец не должен иметь пустых значений. Сам столбец «скидка» в результат не войдет.

 

В предложении WHERE могут использоваться как простые, так и специальные операторы сравнения

Оператор Описание
>, <, >=, <=, =, <> Простые операторы сравнения
All Применяется совместно с операторами сравнения при сравнении со списком значений
BETWEEN Применяется при проверке нахождения значения внутри заданного интервала (включая границы)
IN Применяется для проверки нахождения значения в списке
LIKE Применяется для проверки соответствующего значений, заданных в маске

SELECT*

FROM Товар

WHERE наименование BETWEEN ‘X’ AND ‘H’;

Здесь выбирается наименование товара, начинающегося с букв от ‘X’ до ‘H’.

SELECT наименование, цена

FROM Товар

WHERE наименование LIKE ‘%гидро’

Выбирается из таблицы «Товар» 2 столбца – «наименование» и «цена», в наименовании содержится подстрока ‘гидро’.

 

Это предложение является необязательным и применяется для сортировки результирующего набора данных по одному или нескольким столбцам. Для определения направления сортировки используются ключевые слова ASC и DESC.



 

ORDER столбец1 [{ASC|DESC}] [столбец2]

[{ASC|DESC}] […]

 

ASC – сортировка по возрастанию;

DESC – сортировка по убыванию.

 

Пример:

SELECT*

FROM Товар

WHERE наименование BETWEEN ‘Х’ AND ‘Н’

 

ORDER BY цена

Первым столбцом будет цена.

 

Одна из возможностей извлекать данные более чем из одной таблицы – связать таблицы по общему полю.

 

SELECT наименование_продукта, категория_продукта

FROM Продукт, Категория

WHERE Продукт.категория_номер=Категория.категория_номер.

 

По этому запросу будут выданы данные какой категории принадлежит данный продукт. Ограничение WHERE указывает, что из связываемых таблиц извлекаются только те строки, в которых атрибуты категория_номер одинаковы.

 

SELECT наименование_продукта, категория_продукта

FROM

В итоге получаем Декартово произведение, где строка первой таблицы связывается по очереди с каждой строкой второй таблицы. Таким образом, если в первой таблице k1 строк, то во второй k2 строк, то в результате получается таблица, содержащая k1*k2 строк. Количество столбцов в этой таблице n1+n2 , где n1 – количество столбцов в первой таблице, а n2 – количество столбцов во второй таблице.

 

Можно использовать следующие операторы:

1. INNER JOIN – внутреннее соединение.

В результирующем наборе при этом содержатся те строки, у которых значения в связанных полях совпадают.

2. OUTER JOIN

Пример:

SELECT наименование_продукта, категория_продукта

FROM Продукт LEFT OUTER JOIN Категория

WHERE Продукт.категория_номер=Категория.категория_номер

 

GROUP BY {столбец}[, …]

Для вычисления суммарного значения на основе данных одной или нескольких таблиц используется предложение GROUP BY. В этом случае результат будет сгруппирован по одинаковым значениям атрибута группировки. Например, сумму баллов, полученную абитуриентом на экзаменах, можно получить с помощью запроса

SELECT DISTINCTROW

Оценки, номер_абитуриента, Sum(Оценки, полученный_балл), AS Sum Полученный_балл

FROM Оценки

GROUP BY Оценки, номер_абитуриента

Предложение GROUP BY сообщает системе, что надо разбить заданное отношение на группу строк (картежей) с одинаковыми значениями атрибута номер_абитуриента.

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

Например:

SELECT DISTINCTROW Оценки, номер_абитуриента, Sum (Оценки, получ_баллы), AS Sum_получ_баллы

FROM Оценки

GROUP BY Оценки, номер_абитуриента

HAVING Sum(Оценки, полученный балл)>12



<== предыдущая лекция | следующая лекция ==>
Выбор данных (SELECT). | Оператор DELETE.


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


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

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

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


 


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

 
 

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

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