- •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 **************
30 Понимание sql
______________________________________________________________________
ГЛ. 3
WHERE - предложение команды SELECT, которое позволяет вам
устанавливать предикаты, условие которых может быть или верным или
неверным для любой строки таблицы. Команда извлекает только те строки
из таблицы для которой такое утверждение верно.
Например, предположим вы хотите видеть имена и комиссионные всех
продавцов в Лондоне. Вы можете ввести такую команду:
SELECT sname, city
FROM Salespeople;
WHERE city = "LONDON";
Когда предложение WHERE представлено, программа базы данных
просматривает всю таблицу по одной строке и исследует каждую строку
чтобы определить верно ли утверждение.
Следовательно, для записи Peel, программа рассмотрит текущее значение
столбца city, определит что оно равно "London", и включит эту строку в
вывод. Запись для Serres не будет включена, и так далее.
Вывод для вышеупомянутого запроса показан в Рисунке 3.6.
=============== SQL Execution Log ============
| |
| SELECT sname, city |
| FROM Salespeople |
| WHERE city = 'London' |
| ============================================= |
| sname city |
| ------- ---------- |
| Peel London |
| Motika London |
=============================================
Рисунок 3.6: SELECT c предложением WHERE
ИСПОЛЬЗОВАНИЕ SQL ДЛЯ ИЗВЛЕЧЕНИЯ
ИНФОРМАЦИИИЗ ТАБЛИЦ 31
______________________________________________________________________
Давайте попробуем пример с числовым полем в предложении WHERE.
Поле rating таблицы Заказчиков предназначено чтобы разделять
заказчиков на группы основанные на некоторых критериях которые могут
быть получены в итоге через этот номер. Возможно это - форма оценки
кредита или оценки основанной на томе предыдущих приобретений.
Такие числовые коды могут быть полезны в реляционных базах данных как
способ подведения итогов сложной информации. Мы можем выбрать всех
заказчиков с рейтингом 100, следующим образом:
SELECT *
FROM Customers
WHERE rating = 100;
Одиночные кавычки не используются здесь потому, что оценка - это числовое
поле.
Результаты запроса показаны в Рисунке 3. 7.
Предложение WHERE совместимо с предыдущим материалом в этой главе.
Другими словами, вы можете использовать номера столбцов, устранять
дубликаты, или переупорядочивать столбцы в команде SELECT которая
использует WHERE. Однако, вы можете изменять порядок столбцов для
имен только в предложении SELECT, но не в предложении WHERE.
=============== SQL Execution Log ============
| |
| SELECT * |
| FROM Customers |
| WHERE rating = 100; |
| ============================================= |
| ñnum cname city rating snum |
| ------ -------- ------ ---- ------ |
| 2001 Hoffman London 100 1001 |
| 2006 Clemens London 100 1001 |
| 2007 Pereira Rome 100 1001 |
=============================================
Рисунок 3.7: SELECT с числовым полем в предикате