Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД / Uchpos / Gl_4.doc
Скачиваний:
24
Добавлен:
27.04.2015
Размер:
342.53 Кб
Скачать

Предложение from

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

Синтаксис

SELECT список_полей

FROM выражение [IN внешняя_база_данных]

где:

список_полей - имена одного или нескольких полей, из которых отбираются данные, вместе с псевдонимами, статистическими функциями SQL, предикатами отбора (ALL, DISTINCT, DISTINCTROW или TOP) или другими элементами инструкции SELECT;

выражение - выражение, определяющее одну или несколько таблиц, откуда извлекаются данные. Это выражение может быть именем отдельной таблицы, именем сохраненного запроса или результатом операции INNER JOIN, LEFT JOIN или RIGHT JOIN;

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

Предложение FROM должно присутствовать в каждой инструкции SELECT.

Порядок следования имен таблиц в аргументе выражениене существенен.

Для повышения быстродействия и облегчения применения рекомендуется использовать присоединение таблиц вместо предложения IN для загрузки данных из внешней базы данных.

Минимальный синтаксис инструкции SELECT:

SELECT поля FROM таблица

Для отбора всех полей таблицы можно использовать знак звездочки (*).

Предложение where

Определяет, какие записи из таблиц, перечисленных в предложении FROM, следует включить в результат выполнения инструкции SELECT, UPDATE или DELETE.

Синтаксис

SELECT список_полей

FROM выражение

WHERE условие отбора

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

Ядро базы данных Microsoft Jet выбирает записи, соответствующие условиям, перечисленным в предложении WHERE. Если не задавать предложение WHERE, запрос возвращает все строки таблицы. Если в запросе определить несколько таблиц и не включить предложение WHERE или JOIN, запрос будет возвращать скалярное произведение таблиц.

Предложение WHERE не является обязательным, однако, если оно присутствует, то должно следовать после предложения FROM.

Предложение WHERE может содержать до 40 выражений, связанных логическими операторами, такими как And и Or.

Имена полей, которые содержат пробелы или знаки препинания, необходимо заключать в квадратные скобки ([ ]).

При определении аргумента условия_отбора символы дат должны быть введены в американском формате, даже если используется неамериканская версия ядра базы данных Jet. Обязательно даты заключаются в знаки "решетки" (#).

Если несколько таблиц, включенных в предложение FROM, содержат одноименные поля, перед именем такого поля следует ввести имя таблицы и оператор . (точка).

При работе со статистическими функциями или запросами, которые возвращают повторяющиеся имена объекта Field, используется предложение AS для задания другого имени объекта Field.

Предложение order by

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

Синтаксис

SELECT список_полей

FROM таблица

WHERE условие_отбора

ORDER BY поле1 [ASC | DESC ][, поле2 [ASC | DESC ][, ...]]

где поле1, поле2 - имена полей для сортировки записей.

Если инструкция содержит предложение WHERE, ядро базы данных Microsoft Jet выполняет группирование значений после применения к записям условий отбора WHERE.

Предложение ORDER BY не является обязательным. Однако, чтобы отобразить данные в отсортированном порядке, его необходимо использовать.

По умолчанию используется возрастающий порядок сортировки (А-Я, 0-9).

Чтобы сортировать в убывающем порядке (Я-А, 9-0), добавляется зарезервированное слово DESC в конец каждого поля, которое нужно отсортировать в убывающем порядке.

Если в предложение ORDER BY будет включено поле МЕМО или объекта OLE, то возникнет ошибка. Ядро базы данных Jet не позволяет проводить сортировку по полям этих типов.

Предложение ORDER BY обычно является последним элементом инструкции SQL.

Предложение ORDER BY может содержать несколько полей. Сначала записи сортируются по первому полю в списке ORDER BY, затем записи, имеющие совпадающие значения в первом поле, сортируются по второму полю и т.п.

Примеры:

Получить полную информацию о всех товарах:

SELECT *

FROM Товары;

Получить коды и наименования всех товаров:

SELECT [Код товара],Наименование

FROM Товары;

Определить имена поставщиков из Калининграда:

SELECT Имя

FROM Поставщики

WHERE Адрес="Калининград";

Определить коды поставщиков, поставляющих товары сегодня:

SELECT DISTINCT [Код поставщика]

FROM Поставки

WHERE Дата=Date();

Получить наименование, цену и тип товаров, хранящихся в Москве, Киеве или Риге. Список упорядочить по наименованиям товаров:

SELECT DISTINCT Наименование,Тип,Цена

FROM Товары

WHERE [Место хранения] In ("Москва","Киев","Рига")

ORDER BY Наименование;

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

SELECT DISTINCT Имя,Адрес

FROM Поставщики

WHERE Имя Like "А*";

Получить информацию о поставках товаров за период между 1/10/99 и 7/30/99:

SELECT [Код товара],[Код поставщика],Количество

FROM Поставки

WHERE Дата Between #1/10/99# And #7/30/99#;

Получить информацию о поставках товаров с незаданной датой:

SELECT [Код товара],[Код поставщика],Количество

FROM Поставки

WHERE Дата IS NULL;

Определить имена поставщиков, адрес которых неизвестен:

SELECT Имя

FROM Поставщики

WHERE Адрес="";

Определить 10 самых дорогих товаров типа «Обувь»:

SELECT TOP 10 Наименование,Цена

FROM Товары

WHERE Тип="Обувь"

ORDER BY Цена DESC;

Определить товары типа «Обувь» с ценой менее 1000, хранящиеся в Москве:

SELECT Наименование, Цена

FROM Товары

WHERE Цена<=1000 AND Тип="Обувь" AND [Место хранения]="Москва";

Определить товары, хранящиеся в Москве или Киеве:

SELECT *

FROM Товары

WHERE [Место хранения]="Москва" OR [Место хранения]="Киев";

Определить количество поставщиков из Москвы:

SELECT Count([Код поставщика]) AS [Количество поставщиков]

FROM Поставщики

WHERE Адрес="Москва";

Соседние файлы в папке Uchpos