
- •Iso (международной организацией по
- •2 Понимание sql
- •Что такое - реляционная база данных?
- •Порядок строк произволен
- •4 Понимание sql ___________________________________________________________________
- •Идентификация строк ( первичные ключи )
- •Столбцы именуются и нумеруются
- •8 Понимание sql
- •************** Работа с sql **************
- •Sql : обзор
- •Что делает ansi ?
- •Интерактивный и вложенный sql
- •14 Понимание sql
- •Субподразделения sql
- •16 Понимание sql
- •Sql несогласованности
- •Что такое - пользователь?
- •18 Понимание sql
- •Условия и терминология
- •************** Работа с sql **************
- •24 Понимание sql
- •26 Понимание sql
- •Переупорядочение столбца
- •28 Понимание sql
- •Параметры distinct
- •30 Понимание sql
- •32 Понимание sql
- •************* Работа с sql ***************
- •38 Понимание sql
- •40 Понимание sql
- •42 Понимание sql
- •44 Понимание sql
- •Использование специальных операторов в условиях
- •50 Понимание sql
- •52 Понимание sql
- •54 Понимание sql
- •56 Понимание sql
- •************** Работа с sql **************
- •Обобщение данных с помощью агрегатных функций
- •64 Понимание sql
- •66 Понимание sql
- •Включение дубликатов в агрегатные функции
- •Предложение group by
- •68 Понимание sql
- •Предложение having
- •70 Понимание sql
- •72 Понимание sql
- •************** Работа с sql **************
- •Формирование выводов запросов
- •Помещение текста в вашем выводе запроса
- •78 Понимание sql
- •80 Понимание sql
- •82 Понимание sql
- •Упорядочение вывода по номеру столбца
- •84 Понимание sql
- •************** Работа с sql **************
- •Запрашивание многочисленых таблиц также как одной
- •90 Понимание sql
- •92 Понимание sql
- •94 Понимание sql
- •************** Работа с sql **************
- •Объединение таблицы с собой
- •Псевдонимы
- •100 Понимание sql
- •Устранение избыточности
- •102 Понимание sql
- •Больше псевдонимов
- •104 Понимание sql
- •106 Понимание sql
- •************** Работа с sql **************
- •Вставка одного запроса внутрь другого
- •112 Понимание sql
- •114 Понимание sql
- •116 Понимание sql
- •In определяет набор значений, одно из которых должно совпадать с другим
- •118 Понимание sql
- •In является подходящим, если запрос может ограниченно производить одно
- •120 Понимание sql
- •122 Понимание sql
- •*************** Работа с sql *************
- •Соотнесенные подзапросы
- •130 Понимание sql
- •132 Понимание sql
- •Соотнесенные подзапросы в предложении having
- •134 Понимание sql
- •*************** Работа с sql *************
- •Использование оператора exists
- •140 Понимание sql
- •142 Понимание sql
- •144 Понимание sql
- •146 Понимание sql
- •************** Работа с sql **************
- •Использование оператора exists
- •152 Понимание sql
- •154 Понимание sql _____________________________________________________________________
- •156 Понимание sql
- •158 Понимание sql
- •160 Понимание sql
- •162 Понимание sql
- •Использование count вместо exists
- •166 Понимание sql
- •************** Работа с sql **************
64 Понимание sql
______________________________________________________________________
ГЛ. 6
=============== SQL Execution Log ============
| |
| SELECT AVG (amt) |
| FROM Orders; |
| ==============================================|
| |
| ------- |
| 2665.84 |
| |
| |
===============================================
Рисунок 6.2: Выбор среднего
СПЕЦИАЛЬНЫЕ АТРИБУТЫ COUNT
Функция COUNT несколько отличается от всех. Она считает число
значений в данном столбце, или число строк в таблице. Когда она
считает значения столбца, она используется с DISTINCT чтобы
производить счет чисел различных значений в данном поле. Мы могли
бы использовать ее, например, чтобы сосчитать номера продавцов в
настоящее время описаных в таблице Порядков ( вывод показывается
в Рисунке 6.3 ):
SELECT COUNT ( DISTINCT snum )
FROM Orders;
ИСПОЛЬЗОВАНИЕ DISTINCT
Обратите внимание в вышеупомянутом примере, что DISTINCT,
сопровождаемый именем поля с которым он применяется, помещен
в круглые скобки, но не сразу после SELECT, как раньше.
Этого использования DISTINCT с COUNT применяемого к
индивидуальным столбцам, требует стандарт ANSI, но большое
количество программ не предъявляют к ним такого требования.
CУММИРОВАНИЕ ДАННЫХ
С ПОМОЩЬЮ АГРЕГАТНЫХ ФУНКЦИЙ 65
______________________________________________________________________
=============== SQL Execution Log ============
| |
| SELECT COUNT (DISTINCT snum) |
| FROM Orders; |
| ==============================================|
| |
| ------- |
| 5 |
| |
| |
===============================================
Рисунок 6.3: Подсчет значений поля
Вы можете выбирать многочисленые счета( COUNT ) из полей с помощью
DISTINCT в одиночном запросе который, как мы видели в Главе 3, не
выполнялся когда вы выбирали строки с помощью DISTINCT.
DISTINCT может использоваться таким образом, с любой функцией агрегата,
но наиболее часто он используется с COUNT. С MAX и MIN, это просто
не будет иметь никакого эффекта, а SUM и AVG, вы обычно применяете
для включения повторяемых значений, так как они законно эффективнее
общих и средних значений всех столбцов.
ИСПОЛЬЗОВАНИЕ COUNT СО
СТРОКАМИ, А НЕ ЗНАЧЕНИЯМИ
Чтобы подсчитать общее число строк в таблице, используйте функцию
COUNT со звездочкой вместо имени поля, как например в следующем
примере, вывод из которого показан на Рисунке 6.4:
SELECT COUNT (*)
FROM Customers
COUNT со звездочкой включает и NULL и дубликаты, по этой причине
DISTINCT не может быть использован. DISTINCT может производить
более высокие номера чем COUNT особого поля, который удаляет все