Выбрать главу

Вы уже, наверное, заметили, что для таблиц и представлений используется простое соглашение об именах, основанное на присвоении префиксов tbl и qry именам объектов базы данных. Тому есть две причины. Во-первых, это упрощает определение типа объекта базы данных, потому что в некоторых ситуациях это может быть не совсем очевидно. Во-вторых, такое соглашение об именах использовалось в прежних изданиях этой книги и поддерживается здесь для преемственности.

Наше соглашение об именах уже знакомо программистам, которые имеют опыт работы с Microsoft Access. Хотя представленные здесь действия выполняются несколько иначе, чем к тому привыкли программисты, имеющие опыт работы с SQL Server, мы считаем, что наличие какого-либо соглашения об именах все же лучше, чем его отсутствие. Конечно, в своей работе вы можете использовать какое-то другое соглашение об именах.

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

Отбор записей с помощью предложения SELECT

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

SELECT *

А его содержание таково: "Вернуть значения всех полей, найденных в указанном источнике записей". Эта форма команды удобна тем, что вам не обязательно знать имена извлекаемых полей таблицы. Однако выборка всех полей таблицы может быть не рациональной, особенно в том случае, когда требуется только два поля, в то время как такой запрос осуществляет выборку двух десятков полей.

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

Ниже приводится пример предложения SELECT, которое извлекает из базы данных значения только двух полей таблицы- FirstName и LastName, содержащих имя и фамилию клиента.

SELECT [FirstName], [LastName]

Обратите внимание также на то, что предложение SELECT не готово к выполнению без предложения FROM (поэтому примеры предложения SELECT, приведенные в этом разделе, выполнить в таком виде нельзя). Чтобы полнее ознакомиться с предложениями SELECT, просмотрите примеры использования предложения FROM, приведенные в следующем разделе.

Указание источника записей с помощью предложения FROM

Предложение FROM указывает на источник записей, из которого запрос извлекает записи. Этим источником может быть как таблица, так и другой хранимый запрос. У вас также есть возможность отбора записей из нескольких таблиц, которая подробно рассматривается далее, в разделе об объединении нескольких таблиц в одном запросе.

Предложения FROM работают совместно с предложениями SELECT. Например, чтобы отобрать все записи в таблице tblCustomer, используйте приведенную ниже команду SQL.

SELECT *

FROM tblCustomer

При выполнении этого запроса считываются все записи и все поля в таблице tblCustomer (без какого-либо упорядочения записей).

Чтобы отобрать только имя и фамилию клиентов, воспользуйтесь приведенной ниже командой SQL.

SELECT FirstName, LastName FROM tblCustomer

После изменения запроса в режиме конструктора представления выберите команду Query→Run (Запрос→Запуск) для обновления результатов выполнения запроса, которые теперь будут иметь такой вид, как на рис. 2.3.

РИС. 2.3. Результаты выполнения запроса на выборку данных из полей FirstName и LastName таблицы tblCustomer

Из соображений эффективности всегда ограничивайте число полей в предложении SELECT только теми полями, которые могут потребоваться вашему приложению. Обратите внимание, что записи, отобранные запросом SELECT FROM, в результирующем наборе не упорядочены. Если не задать порядок сортировки (использование предложения ORDER BY рассматривается ниже в этой главе), записи всегда возвращаются в неопределенном порядке.

Формирование критериев с использованием предложения WHERE

Предложение WHERE указывает процессору базы данных на необходимость ограничения количества отбираемых записей согласно одному или нескольким заданным критериям. Критерий — это логическое выражение, результатом оценки которого является либо "истина" (true), либо "ложь" (false). В языке SQL существует много аналогичных выражений эквивалентности, знакомых пользователям Visual Basic (например: >0 и =' Smith ').