Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры БД.docx
Скачиваний:
16
Добавлен:
26.09.2019
Размер:
592.64 Кб
Скачать
  1. Критерий отбора строк в параметре Where операторов sql. Примеры фильтрующих запросов.

Следующий параметр оператора SELECT − параметр WHERE – содержит критерий, по которому фильтруются строки, созданные параметром FROM. Критерий для отбора строк задается логическим выражением, построенным из отдельных условий (высказываний), соединяемых логическими операциями NOT, AND и OR.

Используются следующие выражения для логических условий:

<выражение 1> <операция сравнения> <выражение 2> ,где <выражение 1> и <выражение 2> могут быть любых, но одинаковых типов, для которых определены операции сравнения из множества { =, >, !>, <, !<, >=, <=, <>, != }. Условие принимает значение истина, если выполняется сравнение для значений операндов, заданных <выражением 1> и <выражением 2>.

2. <выражение> [NOT] BETWEEN <выражение 1> AND <выражение 2>

Данное условие истинно (при отсутствии NOT), если значение, вычисленное для первого параметра (<выражение>), попадает в отрезок, образованный значениями параметров <выражение 1> и <выражение 2>. Все выражения должны принадлежать одному типу. NOT инвертирует результат операции.

3. <выражение> LIKE ‘<шаблон для проверки>’. В MS SQL Server ограничителями шаблона являются одиночные, а СУБД ACCESS двойные кавычки. Значение данного условия истинно, если значение выражения соответствует заданному шаблону. Проверка соответствия шаблону выполняется над строковыми данными, поэтому значение заданного выражения должно предварительно приводиться к строковому типу. Шаблоном является строка, содержащая обычные символы в сочетании с метасимволами. В шаблоне используются метасимволы, имеющие следующие значения:

• * (для ACCESS) или % (для MS SQL Server) – любая последовательность символов. Например, шаблонам «ЗАО*» и ‘ЗАО%’ соответствуют все строки, начинающиеся на ЗАО;

• ? (для ACCESS) или _ (подчеркивание для MS SQL Server) – разрешает любой единственный символ в позиции, занятой данным символом;

• [<символ>-< символ>] – любой символ из заданного диапазона символов используемой кодовой таблицы. Здесь знаки ‘[‘ и ‘]’ являются элементом синтаксиса, например, запись [d-f] означает любой символ из множества {d, e, f};

• [^<символ>-< символ>] – инвертирование диапазона символов (только для MS SQL Server). Условие истинно, если в позиции, определяемой заданным шаблоном, стоит любой символ кроме символов приведенного диапазона.

4. < строковое выражение > [NOT] IN (<список строковых констант>). При отсутствии NOT условие истинно, если значение выражения хотя бы однократно встречается в заданном множестве констант. Например, WHERE color IN (‘Красный’, ‘Желтый’, ‘Зеленый’).

5. <строковое выражение> [NOT] IN (<подзапрос>) Подзапрос должен возвращать таблицу из одного столбца. В отсутствие NOT условие истинно, если значение выражения хотя бы однократно встречается в столбце, созданном подзапросом. В подзапросе также могут использоваться поля табличных источников основного запроса.

6. < выражение > IS NULL/NOT NULL проверяет, имеет ли выражение какое-либо значение. Данное условие обычно используется для проверки, присутствует (введено) ли какое-либо значение в поле таблицы. Проверка отсутствия данных путем сравнения ( ‘=’ ) со значением NULL вместо операции IS в общем случае неверна.

7. EXISTS (<подзапрос>) Проверяет факт наличия результата подзапроса. Принимает значение истина, если подзапрос возвращает хотя бы одну строку. Поскольку данные подзапроса значения не имеют, в списке столбцов подзапроса обычно используют символ * в следующем виде: SELECT * FROM … .

8. <выражение> <операция сравнения> ALL/ANY (<подзапрос>)

Подзапрос должен возвращать таблицу, состоящую из одного столбца. Для опции ALL (все) условие истинно, если сравнение выполняется для всех значений, возвращаемых подзапросом. Для опции ANY (любой) условие истинно, если сравнение выполняется хотя бы для одного значения, формируемого подзапросом.

9. < выражение> <операция сравнения> (<подзапрос>) Подзапрос должен возвращать единственное значение – таблицу, имеющую один столбец и одну строку. Результат подзапроса, содержащий несколько строк, будет генерировать ошибку времени выполнения. Условие истинно, если сравнение истинно для значения, созданного подзапросом.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]