Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Наиболее базовой и часто используемой инструкцией SQL является инструкция SELECT . Инструкции SELECT являются рабочими лошадями всех инструкций SQL, и их обычно называют запросами select. Инструкция SELECT используется для получения данных из таблиц базы данных, и результаты обычно возвращаются в наборе записей (или строк), состоящих из любого количества полей (или столбцов). Чтобы указать, какую таблицу или таблицы выбрать, необходимо использовать предложение FROM . Базовая структура инструкции SELECT :
SELECT field list
FROM table list
Чтобы выделить все поля из таблицы, используйте звездочку (*). Например, следующая инструкция выбирает все поля и все записи из таблицы Customers.
SELECT *
FROM tblCustomers
Чтобы ограничить поля, полученные запросом, просто используйте вместо него имена полей. Пример.
SELECT [Last Name], Phone
FROM tblCustomers
Чтобы указать другое имя поля в результирующем наборе, используйте ключевое слово AS , чтобы установить псевдоним для этого поля.
SELECT CustomerID AS [Customer Number]
FROM tblCustomers
Ограничение результирующих наборов
Чаще всего не требуется извлекать все записи из таблицы. Вам потребуется только подмножество этих записей на основе некоторых квалифицирующих критериев. Чтобы определить оператор SELECT , необходимо использовать предложение WHERE , которое позволит указать, какие именно записи требуется извлечь.
SELECT *
FROM tblInvoices
WHERE CustomerID = 1
Обратите внимание на CustomerID = 1
часть предложения WHERE . Предложение WHERE может содержать до 40 таких выражений, и их можно объединить с логическими операторами And или Or. Использование нескольких выражений позволяет дополнительно отфильтровать записи в результирующем наборе.
SELECT *
FROM tblInvoices
WHERE CustomerID = 1 AND InvoiceDate > #01/01/98#
Имейте в виду, что строка даты заключена в числовые знаки (#). Если в выражении используется обычная строка, ее необходимо заключить в одинарные кавычки ('). Пример.
SELECT *
FROM tblCustomers
WHERE [Last Name] = 'White'
Если вы не знаете целое строковое значение, можно использовать подстановочные знаки с оператором Like .
SELECT *
FROM tblCustomers
WHERE [Last Name] LIKE 'W*'
Существует несколько подстановочных знаков, из которых можно выбрать, и в следующей таблице перечислены, что они собой представляют и для чего можно использовать.
Подстановочный знак | Description |
---|---|
* | Ноль или более символов |
? | Любой знак |
# | Любая однозначная цифра (0–9) |
[ charlist ] | Любой знак в группе charlist |
[! charlist ] | Любой знак вне группы charlist |
Сортировка результирующих наборов
Чтобы указать определенный порядок сортировки для одного или нескольких полей в результирующем наборе, используйте необязательное предложение ORDER BY . Записи можно сортировать по возрастанию (ASC) или по убыванию (DESC); по возрастанию используется значение по умолчанию.
Поля, на которые ссылается предложение ORDER BY , не обязательно должны быть частью списка полей инструкции SELECT , а сортировка может применяться к строковым, числовым значениям и значениям даты и времени. Всегда поместите предложение ORDER BY в конце инструкции SELECT .
SELECT *
FROM tblCustomers
ORDER BY [Last Name], [First Name] DESC
Вы также можете использовать номера полей (или позиции) вместо имен полей в предложении ORDER BY .
SELECT *
FROM tblCustomers
ORDER BY 2, 3 DESC
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.