Структура запросов с использованием одной таблицы

      Комментарии к записи Структура запросов с использованием одной таблицы отключены

Как уже говорилось, SQL представляет собой структуризованный язык запросов. Запросы – наиболее часто используемый элемент SQL. Запрос – это команда, которая дается СУБД и которая сообщает ей, чтобы она вывела определенную информацию из таблиц. Эта информация обычно посылается непосредственно на экран компьютера или терминала, в большинстве случаев ее можно также послать принтеру, сохранить в файле или представить как вводную информацию для другой команды или процесса.

Все запросы на получение практически любых данных в SQL осуществляются с помощью единственного предложения SELECT – предложения языка SQL, с помощью которого можно выполнить все запросы на получение практически любого количества данных из одной или нескольких таблиц БД, в общем случае результатом реализации предложения SELECT является другая таблица. К этой новой (рабочей) таблице может быть снова применена операция SELECT и т.д., т.е. такие операции могут быть вложены друг в друга. Следует заметить, что именно возможность включения одного предложения SELECT внутрь другого послужила мотивировкой использования прилагательного “структуризированный” в названии языка SQL.

Предложение SELECT выглядит следующим образом:

Ниже перечислены аргументы инструкции SELECT:

* – указывает, что выбраны все поля заданной таблицы или таблиц;

поле_1, поле_2 – имена полей, из которых должны быть отобраны данные. Если включить несколько полей, они будут извлекаться в указанном порядке;

псевдоним_1, псевдоним_2 –имена, которые станут заголовками столбцов вместо исходных названий столбцов в таблице;

выражение –имена одной или нескольких таблиц, которые содержат отбираемые данные;

внешняя_база_данных – имя базы данных, которая содержит таблицы, указанные с помощью аргумента “выражение”, если они не находятся в текущей базе данных.

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

ALL – возвращают все записи из таблицы. Если инструкция SQL не содержит ни одного предиката, то подразумевается предикат ALL;

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

DISTINCTROW –опускает данные, основанные на целиком повторяющихся записях, а не на отдельных повторяющихся полях;

TOP –возвращает определенное число записей, находящихся в начале или в конце диапазона, описанного с помощью предложения ORDER BY;

FROM– указывает таблицы или запросы, которые содержат поля, перечисленные в инструкции SELECT;

WHERE – строки из указанных таблиц должны удовлетворять указанному перечню условий отбора строк. Кроме традиционных операторов сравнения (= |||| =) в WHERE фразе используются условия BETWEEN (между), LIKE (похоже на), IN (принадлежит), IS NULL (не определено) и EXISTS (существует), которые могут предваряться оператором NOT (не). Критерий отбора строк формируется из одного или нескольких условий, соединенных логическими операторами:

 AND – когда должны удовлетворяться оба разделяемых с помощью AND условия;

 OR – когда должно удовлетворяться одно из разделяемых с помощью OR условий;

 AND NOT – когда должно удовлетворяться первое условие и не должно – второе;

 OR NOT – когда или должно удовлетворяться первое условие, или не должно удовлетворяться второе.

При этом существует приоритет AND над OR (сначала выполняются все операции AND и только после этого операции OR). Для получения желаемого результата WHERE условия должны быть обработаны в правильном порядке, который можно организовать введением скобок.

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

GROUP BY – группирует по указанному перечню столбцов для того, чтобы получить группы строк, имеющих одно и то же значение в указанном столбце, используя во фразе SELECT SQL-функции SUM (сумма), COUNT (количество), MIN (минимальное значение), MAX (максимальное значение) или AVG (среднее значение).

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

ORDER BY –упорядочить по – определяет упорядоченность результатов выполнения оператора.

Статьи к прочтению:

2 Создание таблиц и запросов в Access


Похожие статьи: