Основные принципы запросов
Запрос представляет собой обращение к данным, сохраненным в SQL Server. Запрос может быть произведен с помощью нескольких форм:
Пользователь MS Query или Microsoft Access может использовать графический интерфейс пользователя (GUI) для выбора данных, которые пользователь хочет видеть, из одной или более таблиц SQL Server.
Пользователь среды SQL Server Management Studio или программы osql может выполнить инструкцию SELECT.
Клиент или приложение промежуточного уровня, например приложение MicrosoftVisual Basic, могут отображать данные из таблицы SQL Server в связанный элемент управления, например в сетку.
Хотя запросы имеют различные способы взаимодействия с пользователем, они все выполняют одну задачу: представляют пользователю результирующий набор инструкции SELECT. Даже если пользователь никогда не указывает инструкцию SELECT, так как обычно работает с графическими инструментами, например с конструктором запросов Visual Studio, программное обеспечение клиента преобразовывает каждый пользовательский запрос в инструкцию SELECT, которая отправляется к SQL Server.
Инструкция SELECT получает данные из SQL Server и возвращает их пользователю в одном или более результирующих наборах. Результирующий набор — это табличное расположение данных из инструкции SELECT. Похожий на таблицу SQL, результирующий набор состоит из столбцов и строк.
Полный синтаксис инструкции SELECT сложен, но большинство инструкций SELECT описывает четыре первичных свойства результирующего набора.
Количество и атрибуты столбцов в результирующем наборе. Следующие атрибуты должны быть определены для каждого столбца результирующего набора.
Тип данных столбца.
Размер столбца, а для числовых столбцов еще точность и масштаб.
Источник значений данных, возвращенных в столбец.
Таблицы, из которых результирующий набор данных получен, и любые логические отношения между таблицами.
Условия, которым строки в исходных таблицах должны соответствовать для выборки инструкцией SELECT. Строки, не соответствующие условиям, пропускаются.
Последовательность, в которой упорядочиваются строки результирующего набора.
Следующая инструкция SELECT находит код продукта, название и цену по прейскуранту любых продуктов, чья учетная цена превышает $40:
SELECT ProductID, Name, ListPrice
FROM Production.Product
WHERE ListPrice > $40
ORDER BY ListPrice ASC
Имена столбцов, перечисленные после ключевого слова SELECT (ProductID, Name и ListPrice), образуют список выбора. Этот список определяет, что результирующий набор имеет три столбца, и каждый столбец имеет имя, тип данных и размер связанного столбца в таблице Product. Поскольку предложение FROM определяет только одну базовую таблицу, все имена столбцов в инструкции SELECT ссылаются на столбцы в этой таблице.
Предложение FROM перечисляет таблицу Product как одну таблицу, из которой должны быть получены данные.
Предложение WHERE указывает условие, что данной инструкции SELECT соответствуют только строки в таблице Product, в которых значение столбца ListPrice больше, чем $40.
Предложение ORDER BY указывает, что результирующий набор должен быть отсортирован по возрастающей последовательности (ASC), основанной на значении в столбце ListPrice.
См. также