Редактирование инструкций SQL для уточнения результатов запроса

Редактирование инструкций SQL для уточнения результатов запроса

Важно :  Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.

Если ваши запросы не функционируют должным образом, добавьте несколько основных инструкций SQL, чтобы уточнить результаты. Рассмотрим несколько типов инструкций SQL, а также выражения или части, которые вы можете редактировать, чтобы получать нужные результаты.

Примечание : Статья неприменима к веб-приложениям Access — новому типу баз данных, которые создаются в Access и публикуются в Интернете.

В этой статье

Создание инструкции SELECT

Настройка предложения SELECT

Настройка предложения FROM

Настройка предложения WHERE

Настройка с помощью оператора UNION

Создание инструкции SELECT

Инструкция SELECT в SQL может содержать от двух до трех предложений. Предложение SELECT указывает базе данных, где выполнять поиск, и запрашивает возврат определенного результата.

Примечание : Инструкции SELECT всегда заканчиваются точкой с запятой (;), которая может стоять как в конце последнего предложения, так и на отдельной строке в конце инструкции SQL.

Указанная ниже инструкция SELECT подает программе Access запрос на получение информации из столбцов "Адрес электронной почты" и "Компания" таблицы "Контакты", где в столбце "Город" указано "Ростов".

Вкладка объекта SQL с инструкцией SELECT

Указанный выше запрос состоит из предложений SELECT, FROM и WHERE.

1. Предложение SELECT выбирает столбцы, содержащие необходимые данные, и включает оператор (SELECT), за которым следуют два идентификатора ("Адрес электронной почты" и "Компания"). Если идентификатор содержит пробелы или специальные символы (например, "Адрес электронной почты"), заключите его в квадратные скобки.

2. Предложение FROM указывает на исходную таблицу. В данном примере оно содержит оператор (FROM), за которым следует идентификатор ("Контакты").

3. Предложение WHERE — необязательное. В примере оно содержит оператор (WHERE), за которым следует выражение (Город="Ростов").

Дополнительные сведения о запросах на выборку в статье Создание простого запроса на выборку.

Вот список самых распространенных предложений SQL.

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

Описание

Обязательно ?

SELECT

Определяет поля, которые содержат нужные данные.

Да

FROM

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

Да

WHERE

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

Нет

ORDER BY

Определяет порядок сортировки результатов.

Нет

GROUP BY

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

Только при наличии таких полей

HAVING

В инструкции SQL, которая содержит статистические функции, определяет условия, применяемые к полям, для которых в предложении SELECT вычисляется сводное значение.

Нет

Каждое предложение SQL состоит из терминов. Ниже приведен список некоторых распространенных терминов SQL.

Термин SQL

Определение

Пример

идентификатор

Имя, используемое для идентификации объекта базы данных, например имя столбца.

[Адрес электронной почты] и компания

оператор

Ключевое слово, которое представляет действие или изменяет его.

AS

константа

Значение, которое не изменяется, например число или NULL.

42

выражение

Сочетание идентификаторов, операторов, констант и функций, предназначенное для вычисления одного значения.

>= Товары.[Цена]

К началу страницы

Настройка предложения SELECT

Настройка

Пример

Просмотр только отдельных значений.

Используйте в предложении SELECT ключевое слово DISTINCT.

Например, если ваши клиенты работают в нескольких отделах предприятия и у некоторых из них одинаковые номера телефонов, а вы хотите, чтобы идентичные номера отображались только один раз, тогда предложение SELECT будет таким:

SELECT DISTINCT [txtCustomerPhone] 

Изменение способа отображения идентификатора в режиме таблицы для улучшения удобочитаемости.

Используйте в предложении оператор AS (ключевое слово, которое означает или изменяет действие) с псевдонимом поля. Псевдоним поля — это имя, назначаемое полю, чтобы облегчить чтение результатов.

SELECT [txtCustPhone] AS [Customer Phone]

Настройка предложения FROM

Настройка

Пример

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

Выбор данных из двух полей с именем "Код", одно из которых содержится в таблице "таблЗаказчик", а другое — в таблице "таблЗаказ":

SELECT [tblCustomer].[ID], 
[tblOrder].[ID]

Используйте оператор AS, чтобы задать псевдонимы таблиц в предложении FROM:

FROM [tblCustomer] AS [C], 
[tblOrder] AS [O]

Затем эти псевдонимы таблиц можно использовать в предложении SELECT следующим образом:

SELECT [C].[ID], 
[O].[ID]

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

Объедините таблицы так, чтобы в запросе объединялись элементы из этих таблиц, но исключались элементы, для которых отсутствуют соответствующие записи в одной из таблиц.

Вот пример предложения FROM:

FROM [tblCustomer] 
INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

Об использовании объединений

Существует два типа объединений: внутренние и внешние. Внутренние объединения чаще используются в запросах. При выполнении запроса с внутренним объединением в результат включаются только те элементы, которые имеют одинаковые значения в обеих объединенных таблицах.

Внешнее объединение указывает, необходимо ли включать в результаты данные с разными значениями. Внешнее объединение является направленным: вы можете указать, следует ли включить в результаты все записи из первой таблицы для объединения (левое объединение) или все записи из второй таблицы (правое объединение). Внешнее объединение имеет такой синтаксис SQL:

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2

Просмотреть дополнительные сведения об использовании объединений в запросе в объединение таблиц и запросов.

К началу страницы

Настройка предложения WHERE

Предложение WHERE содержит условие, которое помогает ограничить количество элементов, возвращенные в запросе. Найти Примеры условий запроса и как они работают.

Примером настройки основного предложения WHERE является ограничение результатов запроса. Предположим, что необходимо узнать телефонный номер клиента, но вы помните только его фамилию: Еременко. В этом примере фамилии хранятся в поле "Фамилия", и синтаксис SQL будет таким:

WHERE [LastName]='Bagel'

WHERE также используется для объединения источники данных для столбцов, которые имеют одинаковые данные, но разными типами данных. Это может пригодиться, так как не удается создать соединения между полями, которые имеют разные типы данных. Использование одного поля в качестве критерия поля, с помощью ключевого слова LIKE . Например если вы хотите использовать данные из таблицы активы и сотрудников, только тогда, когда тип активов в ОС Тип поля в таблице активы имеет число 3 в поле количество таблицы «Сотрудники», ниже показано, как будет выглядеть ваш предложение WHERE :

WHERE field1 LIKE field2

Важно :  В предложении WHERE нельзя задать условие отбора для поля со статистической функцией. Вместо него для таких полей нужно использовать предложение HAVING.

К началу страницы

Настройка с помощью оператора UNION

Используйте оператор UNION, чтобы одновременно просматривать результаты нескольких запросов на выборку. Например, если в базе данных содержатся таблицы "Товары" и "Услуги" и обе таблицы содержат три поля: "Эксклюзивное предложение товара или услуги", "Цена" и "Гарантия". Несмотря на то что в таблицах "Товары" и "Услуги" предусмотрены разные типы гарантий, основная информация одна и та же. С помощью запрос-объединения можно объединить три поля из двух таблиц:

SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer
FROM Services;

После выполнения запроса данные из набора соответствующих полей объединяются в одном выходном поле. Чтобы включить в результаты повторяющиеся строки, используйте оператор ALL.

Примечание :  Инструкция SELECT должна содержать такое же количество выходных полей, в таком же порядке и с такими же или совместимыми типами данных. В запрос-объединениях числовой и текстовый типы данных являются совместимыми.

Дополнительные сведения о запросы на объединение читайте в статье Использование запроса на объединение для просмотра объединенных результатов нескольких запросов.

К началу страницы

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

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×