русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Оператор SELECT

Оператор SELECT позволяет получать существующие данные из базы данных. Большинство операторов SELECT описывают четыре главных свойства результирующего набора:

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

Оператор SELECT имеет следующий синтаксис (необязательные элементы заключены в квадратные скобки):

SELECT [DISTINCT][TOP n] {список полей}
FROM {список таблиц}
[WHERE {условия выборки или соединения}]
[GROUP BY {список полей, по которым выполняется группировка}]
[HAVING {условия включения в группу}]
[ORDER BY {список полей для сортировки}]

Оператор DISTINCT используется для исключения дублирующих записей из результирующего набора. Оператор TOP n предназначен для отображения первых n записей из результирующего набора.
Для задания условий выборки используется оператор WHERE. В этом операторе определяется некоторое условие, которое может быть либо истинным, либо ложным для каждой записи той таблицы или таблиц, из которых происходит извлечение данных. При этом в результирующий набор попадают лишь те записи, для которых условие оказывается истинным. При формировании условий отбора можно использовать операторы отношений (>, <, >=, <=, =, <>), булевы операторы AND, OR, NOT, а также специфичные операторы сравнения SQL:

  • BETWEEN A AND B - истинен, когда сравниваемое значение попадает в заданный диапазон (включая границы);
  • IN (множество) - истинен, когда сравниваемое значение принадлежит указанному множеству;
  • LIKE 'шаблон' - истинен, когда сравниваемое значение соответствует шаблону. При написании запроса используются символы "%", означающий любое количество любых символов, и "_", означающий один любой символ;
  • IS NULL - истинен, когда сравниваемое значение есть пустое значение (NULL); IS NOT NULL - истинен, когда сравниваемое значение не пустое значение.

Оператор WHERE также часто используется для выборки данных из двух и более связанных между собой таблиц. По другому такой запрос называют соединением таблиц. Для соединения двух связанных между собой таблиц в операторе WHERE следует последовательно приравнять между собой значения полей, с помощью которых таблицы соединены между собой таблицы, и соединить равенства логической операцией AND. Наряду с использованием оператора WHERE для соединения таблиц также используются операторы INNER JOIN и OUTER JOIN. Конструкция INNER JOIN (внутренней соединение) имеет следующий синтаксис:

FROM Таблица1 INNER JOIN Таблица2
ON Таблица1.Поле1=Таблица2.Поле1 AND Таблица1.Поле2=Таблица2.Поле2 AND ...

Оператор LEFT OUTER JOIN (левое внешнее соединение) используется для получения результирующего набора данных, в который входят все записи таблицы, расположенные слева от конструкции LEFT OUTER JOIN, и только те записи из таблицы, расположенной справа от конструкции LEFT OUTER JOIN, которые соответствуют условию соединения. Конструкция LEFT OUTER JOIN (внутренней соединение) имеет следующий синтаксис:

FROM Таблица1 LEFT OUTER JOIN Таблица2
ON Таблица1.Поле1=Таблица2.Поле1 AND Таблица1.Поле2=Таблица2.Поле2 AND ...

Сортировка результирующего набора данных производится использованием оператора ORDER BY, после которого указывается поле или поля, по которым производится сортировка, а также направление сортировки (ASC - в возрастающем порядке , DESC - в убывающем, по умолчанию используется ASC). Для сортировки можно указывать несколько полей. В этом случае вначале сортировка производится по первому полю, затем по второму полю и т.д.

Конструкция GROUP BY используется для получения сводной информации по группам записей. Вместе с GROUP BY следует использовать одну из групповых (агрегатных) функций, с помощью которых указывается, какие именно сводные данные должны быть получены:

  • SUM(поле) - сумма значений;
  • COUNT(поле) - количество значений (без учета значений NULL). Для подсчета количеств записей с учетом значений NULL используется COUNT(*);
  • AVG(поле) - среднее значение;
  • MIN(поле) - минимальное значение;
  • MAX(поле) - максимальное значение.

Все групповые функции игнорируют значения NULL (кроме вызова COUNT(*)), при этом если поле содержит только значения NULL, то результатом применения групповой функции также будет NULL. При применении групповых функции без конструкции GROUP BY агрегатные функции возвращают лишь одно значение, при этом в запросе SELECT можно указать для выборки лишь агрегатные функции. После ключевого слова GROUP BY следует список полей, которые называются группирующими. Конструкция GROUP BY ограничивает записи результирующего набора таким образом, что для каждого конкретного значения группирующего поля или полей возможна только одна запись в результирующем наборе. В каждой записи результирующего набора содержатся сводные данные, связанные с некоторым значением группирующего поля или полей. В запросе SELECT для выборки можно кроме групповых функций также указать имена группирующих полей.

Записи сгруппированного результирующего набора фильтруются средствами конструкции HAVING. В этом операторе определяется некоторое условие, которое может быть либо истинным, либо ложным для каждой группы записей той таблицы или таблиц, из которых происходит извлечение данных. При этом в результирующий набор попадают лишь те группы записей, для которых условие оказывается истинным. При формировании условий отбора можно использовать операторы отношений (>, <, >=, <=, =, <>), булевы операторы AND, OR, NOT, а также специфичные операторы сравнения SQL (IN, BETWEEN, LIKE).

Просмотров: 4414

Вернуться в оглавление:Введение в разработку распределенных информационных систем




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.