- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Таблица A
- •Таблица A
- •Таблица A
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
Элементы языка SQL
Оператор SELECT
Предложение ORDER BY – определение сортировки
Результирующий набор данных можно отсортировать с помощью предложения:
ORDER BY <список_столбцов>
Пример:
SELECT POKUP, DATRASH, TOVAR, KOLVO FROM RASHOD
WHERE TOVAR = “Кока-кола”
ORDER BY POKUP, DATARASH
Элементы языка SQL
Оператор SELECT
Устранение повторяющихся значений
Часто в результирующий НД необходимо включать не все записи с одинаковым значением комбинации столбцов. Для этого используется ключевое слово
DISTINCT
Пример:
SELECT DISTINCT TOVAR FROM RASHOD
Замечание:
использование DISTINCT может существенно замедлить выполнение запроса, т.к. сервер будет тратить дополнительные ресурсы на проверку каждой записи. Обычно применяется в запросах, использующих агрегатные функции.
Элементы языка SQL
Оператор SELECT
Расчет значений вычисляемых столбцов
Для расчета значений вычисляемых столбцов результирующего НД используются арифметические выражения. При этом в списке возвращаемых столбцов после SELECT вместо имени вычисляемого столбца указывается выражение:
SELECT [DISTINCT | ALL ]
{ * | <значение1> [,<значение2> …], <выражение1>[AS <имя_столбца>] …} FROM <таблица1> [ , <таблица2> … ]
Пример:
SELECT R.*, T.ZENA, R.KOLVO*T.ZENA AS STOIM FROM RASHOD R, TOVARY T
WHERE R.TOVAR = T.TOVAR
AS STOIM – необязательное присвоение имени вычисляемому столбцу
Элементы языка SQL
Оператор SELECT
Агрегатные функции
Агрегатные функции предназначены для вычисления итоговых значений операций над всеми записями НД. К агрегатным относятся следующие функции:
•COUNT(<выражение>) – число вхождений выражения в результирующий НД;
•SUM(<выражение>) – суммирует значение выражения;
•AVG(<выражение>) – находит среднее значение;
•MAX(<выражение>) – определяет максимальное значение;
•MIN(<выражение>)- определяет минимальное значение.
Примеры:
SELECT COUNT(DISTINCT POKUP) AS COUNT_POKUP FROM RASHOD;
-----------------------
SELECT SUM(R.KOLVO*T.ZENA) AS OBS_ZENA FROM RASHOD R, TOVARY T
WHERE (R.TOVAR = T.TOVAR)
Элементы языка SQL
Оператор SELECT
Группировка записей
Иногда требуется получить агрегированные значения не по всему результирующему НД, а по каждой из входящих в него групп записей, характеризующихся одинаковым значением какого-либо столбца. Для этого перед предложением WHERE вводится предложение:
GROUP BY столбец [ , столбец1 … ]
Примеры:
SELECT R.TOVAR, SUM(R.KOLVO*T.ZENA) FROM RASHOD R, TOVARY T
WHERE R.TOVAR = T.TOVAR GROUP BY R.TOVAR, R.DAT_RASH
---------------------------------------------------
SELECT DAT_RASH, COUNT(DISTINCT POKUP) FROM RASHOD
GROUP BY DAT_RASH
Элементы языка SQL
Оператор SELECT
Наложение ограничений на группировку записей
Если нужно в результирующем НД выдавать агрегацию не по всем группам, а только по группам, которые отвечают некоторому условию то после GROUP BY указывается предложение :
HAVING <агрегатная функция> <отношение> <значение>
•Агрегатная функция – одна из функций MIN, MAX, AVG, SUM
•Отношение – одна из операций отношения.
•Значение – константа, результат вычисления выражения или единичное значение, возвращаемое вложенным оператором SELECT.
Пример:
SELECT POKUP, MIN(KOLVO) FROM RASHOD
GROUP BY POKUP
HAVING MIN (KOLVO) >= 100
Элементы языка SQL
Оператор SELECT
Наложение ограничений на группировку записей
Отличие HAVING от WHERE:
•HAVING – исключает из результирующего НД группы с результатами агрегированных значений;
•WHERE – исключает из расчета агрегатных значений по группировкам записи, не удовлетворяющие условию;
•В условии поиска WHERE нельзя указывать агрегатную функцию.
Элементы языка SQL
Оператор SELECT: задание сложных условий поиска
Использование логических выражений
Сложные логические выражения строятся при помощи операторов AND, OR и NOT.
Замечание:
операторы отношения при построении выражений имеют меньший приоритет, чем логические операции, что избавляет от необходимости расстановки многочисленных скобок.
Пример:
SELECT R.*, T.ZENA
FROM RASHOD R, TOVARY T WHERE R.TOVAR = T.TOVAR AND
(R.KOLVO <= 30 OR R.KOLVO >= 3000) AND R.POKUP IS NOT NULL
ORDER BY R.KOLVO
Элементы языка SQL
Оператор SELECT: задание сложных условий поиска
Сравнение столбца с результатом вычисления выражения
<выражение> <оператор> <столбец>
или аналогичный способ
<столбец> <оператор> <выражение>
Результат вычисления выражения сравнивается содержимым указанного столбца.
Пример:
SELECT R.DAT_RASH, R.TOVAR, T.ZENA FROM RASHOD R, TOVAR T
WHERE R.TOVAR = T.TOVAR AND T.ZENA > (120 / R.KOLVO) ORDER BY R.DAT_RASH
Элементы языка SQL
Оператор SELECT: задание сложных условий поиска
Использование BETWEEN
<значение> [ NOT ] BETWEEN <значение1> AND <значение2>
Указать значение, которое должно находиться в интервале между значением1 и значением2.
Пример:
SELECT *
FROM RASHOD
WHERE KOLVO BETWEEN 1000 AND 3000
