Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
186.37 Кб
Скачать

2.7Поиск по подстрокам (like)

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

<имя столбца> [NOT] LIKE <образец> [ESCAPE <ключевой символ>]

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

Стандарт SQL предусматривает использование двух символов подстановки вместе с ключевым словом LIKE:

  • % – любая строка с любым количеством символов;

  • _ – любой одиночный символ.

Ключевое слово ESCAPE используется в том случае, если в образце содержится один из символов подстановки, но его нужно рассматривать как простой литерал.

note LIKE ‘q%%q%’ ESCAPE ‘q’

Символ q – обозначен как управляющий. Поэтому пара символов ‘q%’ трактуется как единственный литеральный символ %. С указанным образцом будут совпадать любые строки поля note, в начале и в конце которых располагается символ %.

2.8Сортировка данных и другие методы выбора. Группировка данных

2.8.1Полный синтаксис оператора select

SELECT [ALL| DISTINCT] <список выбора>

FROM <имя таблицы/имя представления>

[WHERE <условия>]

[GROUP BY <список группировки> ]

[HAVING <условия> ]

[ORDER BY <список сортировки>]

2.8.2Упорядочивание результатов

Порядок сортировки может определяться значениями нескольких атрибутов: вначале кортежи упорядочиваются по значениям компонентов первого атрибута; кортежи, совпадающие в компонентах первого атрибута, упорядочиваются по значениям второго атрибута и т.д.

Сортировка допускается по позиции выражения в списке SELECT, позиция представлена числом и по заголовку вывода выражения.

ORDER BY <атрибут1> [ASC|DESC][,<атрибут2>[ASC|DESC][,…[,<атрибутN> [ASC|DESC]]]]

По умолчанию значения каждого атрибута, упомянутого в списке, сортируется по возрастанию –ASC. Чтобы изменить порядок сортировки на обратный, следует указать после имени атрибута служебное слово DESC.

В стандарте SQL-92 определено, что при сортировке неопределенных значений последние должны быть либо больше, либо меньше всех «обычных» значений. Порядок сортировки зависит от диалекта SQL.

2.8.3Устранение повторяющихся строк

Ключевое слово DISTINCT вводят для устранения повторяющихся кортежей.

Ключевое слово ALL возвращает все кортежи, удовлетворяющие условиям запроса (этот режим используется по умолчанию).

Предложение DISTINCT подчиняется следующим правилам:

  • в списке SELECT указывается только один раз;

  • в списке SELECT должно располагаться на первом месте;

  • после предложения запятая не ставится.

Нельзя в одном запросе вывести ВСЕХ сотрудников и НЕПОВТОРЯЮЩИЕСЯ лаборатории.

2.8.4Агрегирующие функции

Агрегирующие (обобщающие) функции всегда имеют аргумент.

Агрегирующая функция

Результат

SUM ([DISTINCT] выражение)

Сумма (различных) значений

AVG ([DISTINCT] выражение)

Средняя величина (различных) значений

COUNT ([DISTINCT] выражение)

Количество (различных) ненулевых значений

COUNT(*)

Количество выбранных строк

MAX(выражение)

Максимальное значение

MIN(выражение)

Минимальное значение

Функции SUM, AVG можно применять только к числовым полям. Функции MIN, MAX, COUNT, COUNT(*) работают со всеми типами данных. Например, MIN для поиска в символьном столбце самого первого значения в алфавитном порядке.

Агрегирующие функции используют в <списке выбора> и в <условиях> предложения HAVING. Предложение WHERE используется в запросах с агрегирующими функциями для ограничения числа строк. Т.е. сначала выполняется предложение WHERE, затем к выбранным строкам применяются агрегирующие функции.

Если в столбце к которому применяется агрегирующая функция имеются NULL-значения, то они просто игнорируются. Исключением является функция COUNT(*), которая всегда подсчитывает общее количество строк.

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