- •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 **************
************** Работа с sql **************
1. Какое наибольшее основное различие между типами данных в SQL ?
2. Распознает ANSI тип данных DATA ?
3. Какой подраздел SQL используется чтобы помещать значения в
таблицы ?
4. Что такое - ключевое слово ?
( См. Приложение A для ответов. )
3
ИСПОЛЬЗОВАНИЕ SQL ДЛЯ ИЗВЛЕЧЕНИЯ
ИНФОРМАЦИИ ИЗ ТАБЛИЦ
22 ПОНИМАНИЕ SQL
______________________________________________________________________
ГЛ. 3
В ЭТОЙ ГЛАВЕ МЫ ПОКАЖЕМ ВАМ КАК ИЗВЛЕКАТЬ
информацию из таблиц. Вы узнаете как опускать или переупорядочивать
столбцы и как автоматически устранять избыточность данных из вашего
вывода. В заключение, вы узнаете как устанавливать условие( проверку )
которую вы можете использовать чтобы определить какие строки таблицы
используются в выводе. Эта последняя особенность, будет далее описана в
более поздних главах и является одной из наиболее изящных и мощных в SQL.
========= СОЗДАНИЕ ЗАПРОСА ===========
Как мы подчеркивали ранее, SQL символизирует собой Структурированный
Язык Запросов. Запросы - вероятно наиболее часто используемый аспект SQL.
Фактически, для категории SQL пользователей, маловероятно чтобы кто-либо
использовал этот язык для чего-то друго. По этой причине, мы будем начинать
наше обсуждение SQL с обсуждения запроса и как он выполняется на этом
языке.
ЧТО ТАКОЕ ЗАПРОС ?
Запрос - команда которую вы даете вашей программе базы данных,
и которая сообщает ей чтобы она вывела определенную информацию из таблиц
в память. Эта информация обычно посылается непосредственно на экран
компьютера или терминала которым вы пользуетесь, хотя, в большинстве
случаев, ее можно также послать принтеру, сохранить в файле ( как
объект в памяти компьютера ), или представить как вводную информацию для
другой команды или процесса.
ГДЕ ПРИМЕНЯЮТСЯ ЗАПРОСЫ ?
Запросы обычно рассматриваются как часть языка DML. Однако, так
как запрос не меняет информацию в таблицах, а просто показывает ее
пользователю, мы будем рассматривать запросы как самостоятельную
категорию среди команд DML которые производят действие, а не просто
показывают содержание базы данных.
Все запросы в SQL состоят из одиночной команды.
Структура этой команды обманчиво проста, потому что вы должны расширять
ее так чтобы выполнить высоко сложные оценки и обработки данных.
Эта команда называется - SELECT(ВЫБОР).
ИСПОЛЬЗОВАНИЕ SQL ДЛЯ ИЗВЛЕЧЕНИЯ
ИНФОРМАЦИИ ИЗ ТАБЛИЦ 23
______________________________________________________________________
КОМАНДА SELECT
В самой простой форме, команда SELECT просто инструктирует базу
данных чтобы извлечь информацию из таблицы. Например, вы могли бы
вывести таблицу Продавцов напечатав следующее:
SELECT snum, sname, sity, comm
FROM Salespeople;
Вывод для этого запроса показывается в Рисунке 3.1.
=============== SQL Execution Log ============
| |
| SELECT snum, sname, sity, comm |
| FROM Salespeople; |
| |
| ==============================================|
| snum sname city comm |
| ------ ---------- ----------- ------- |
| 1001 Peel London 0.12 |
| 1002 Serres San Jose 0.13 |
| 1004 Motika London 0.11 |
| 1007 Rifkin Barcelona 0.15 |
| 1003 Axelrod New York 0.10 |
===============================================
Рисунок 3.1: команда SELECT
Другими словами, эта команда просто выводит все данные из таблицы.
Большинство программ будут также давать заголовки столбца как выше,
а некоторые позволяют детальное форматирование вывода, но это уже
вне стандартной спецификации.
Имеется объяснение каждой части этой команды:
SELECT Ключевое слово которое сообщает базе данных что
эта команда - запрос. Все запросы начинаются этим
словом, сопровождаемым пробелом.