Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Язык SQL. Предложения where и having



Инструкция SQL состоит из нескольких частей, называемых предложениями. Каждое предложение в инструкции SQL имеет свое назначение.

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

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

SELECT поле1, …, поле2, …,

полеN

FROM таблица1

WHERE условие;

Предложение WHERE имеет следующий базовый синтаксис:

WHERE поле = условие

Условие в предложении WHERE необязательно должно быть основано на равенстве значений. Можно использовать другие операторы сравнения, такие как «больше чем» (>) или «меньше чем» (<), например WHERE [Цена]>100. Более сложные предикаты могут быть построены с помощью логических операторов AND, OR или NOT, а также скобок. В условиях отбора могут применяться операторы принадлежности к диапазону или множеству или соответствия шаблону или значению NULL:

 IN (NOT IN) – используется для сравнения некоторого значения со списком заданных значений;

 BETWEEN (NOT BETWEEN) –используется для поиска значения внутри некоторого интервала, определяемого своими минимальным и максимальным значениями;

 LIKE – можно выполнять сравнение выражения с заданным шаблоном, где допускается

использование символов-заменителей:

* – вместо этого символа может быть подставлено любое количество произвольных

символов;

? – заменяет один символ строки;

[ ] – вместо символа строки будет подставлен один из возможных символов, указанный в этих

ограничителях;

[!] – вместо соответствующего символа строки будут подставлены все символы, кроме указанных в ограничителях;

 ISNULL (ISNOTNULL) – для проверки пустого значения.

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

Создать объединение между полями, имеющими разные типы данных, нельзя. Чтобы объединить данные их двух источников на основе значений полей с разными типами данных, нужно создать предложение WHERE, в котором одно поле используется с ключевым словом LIKE как условие отбора для другого поля.

Предположим, например, что необходимо использовать данные из Таблицы1 и Таблицы2, но только в том случае, когда данные в Поле1 (текстовое поле в Таблице1) совпадают с данными из Поля2 (числовое поле в Таблице2). Предложение WHERE будет выглядеть следующим образом:

WHERE поле1 LIKE поле2

HAVING – фильтрует группы строк объекта в соответствии с указанным условием. В инструкции SQL, которая содержит статистические функции, определяет условия, применяемые к полям, для которых в предложении SELECT вычисляется сводное значение. Не обязательное поле

Если необходимо указать условия для ограничения результатов, но поле, к которому их требуется применить, используется в статистической функции, предложение WHERE использовать нельзя. Вместо него следует использовать предложение HAVING. Предложение HAVING работает так же, как и WHERE, но используется для статистических данных.

Запрос может включать и предложение WHERE, и предложение HAVING, при этом условия отбора для полей, которые не используются в статистических функциях, указываются в предложении WHERE, а условия для полей, которые используются в статистических функциях, — в предложении HAVING.

При помощи HAVING отражаются все предварительно сгруппированные посредством GROUP BY блоки данных, удовлетворяющие заданным в HAVING условиям.

SELECT поле1, …, итоговая

функция AS имя для

вычисляемого поля

FROM таблица1

GROUP BY поля группировки

HAVING условие;





Дата публикования: 2015-02-03; Прочитано: 521 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...