Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DB-Lab4-QBE в SQLServer.doc
Скачиваний:
40
Добавлен:
15.04.2015
Размер:
956.93 Кб
Скачать

3. Запросы на выборку

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

Результат выполнения запроса представляет собой набор записей, отображаемых в виде таблицы.

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

Пример 1:Вывести коды и наименования товаров.

Для создания такого запроса необходимо открыть таблицу Товар. После этого на правой панели SQLServerManagement Studio откроется новая вкладкаTable-dbo.Товар, где отображаются все данные из этой таблицы. Добавим на вкладку области диаграммы и сетки.

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

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

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

Рисунок 8 – Выбор столбцов

Рассмотрим подробнее столбцы сетки:

  • Column– задает имена столбцов, из которых выбираются данные;

  • Alias‑ позволяет задать новые имена (так называемые алиасы или псевдонимы) для столбцов;

  • Table‑ определяет имя таблицы, которой принадлежат выбранные столбцы;

  • Output– позволяет управлять выводом данных в результирующей таблице;

  • SortType– задает тип сортировки. Возможны три значения:Ascending– сортировать по возрастанию значений,Descending– сортировать по убыванию значений,Unsorting– не сортировать;

  • SortOrder– задает порядок сортировки между столбцами в результирующей таблице;

  • Filter ‑ задает критерии отбора. Критерии отбора представляют собой ограничения, которые накладываются на результаты выполнения запроса с целью выборки только тех данных, которые интересуют пользователя. При задании критериев можно использовать операции сравнения <, >, <=, >=, <>, логические операции OR, AND, NOT, а также операции IN, BETWEEN, IS NULL, IS NOT NULL, LIKE. Операция IN проверяет, принадлежит ли значение заданному множеству. ОперацияBETWEENопределяет минимальную и максимальную границы диапазона значений атрибута, например,BETWEEN10and20.Границы считаются принадлежащими диапазону. ОперацияLIKEиспользуется для поиска подстрок и применяется только к строковым полям. Например, выражениеLIKE'и%' определяет строки, начинающиеся с буквы 'и';

  • Or– позволяет описать условиеORв отдельном столбце. Используется для повышения наглядности представления запросов при наличии сложных условий, соединяемых через операциюOR.

Нажмем кнопку ExecuteSQLна панели инструментов. Результат выполнения запроса можно будет увидеть на панели результатов в окне конструктора запросов.

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

Рисунок 9 – Выполнение запроса

Данные в каждой области можно изменять. При изменении данных на любой из первых трех областей эти изменения отобразятся в остальных областях. Например, при добавлении таблицы в области диаграммы, эта таблица автоматически добавится в запрос на языке SQL в области SQL-кода. Добавление поля в запрос в области SQL-кода автоматически добавит поле в список в области сетки и обновит таблицу в области диаграммы. Изменения в области результатов позволяют редактировать данные в таблицах БД.

Пример 2:Вывести наименования товаров с кодами 2 и 4.

Для выполнения запроса требуется выполнить следующие действия.

Открыть таблицу Товар.

Выбрать необходимые столбцы: Код товара и Наименование. Наименование требуется вывести в результирующую таблицу, поэтому следует разрешить вывод в столбце Output.

В поле Filterследует определить условия, заданные для столбца Код товара: =2 OR =4. Альтернативный вариант задания условия с помощью операцииIN:IN(2;4). Обратите внимание, что в области диаграммы рядом со столбцом Код товара появился значок. Далее необходимо запретить вывод Кода товара, сняв галочку в столбцеOutput.

Результат выполнения запроса представлен на рисунке 10.

Рисунок 10 – Выполнение запроса

Пример 3:Вывести информацию о поставках за сентябрь 2010 г.

Для выполнения запроса требуется выполнить следующие действия.

Открыть таблицу Поставка.

Разрешить вывод всей информации из таблицы.

Добавить в область сетки столбец Дата. Запретить вывод данных для столбца, так как он уже указан в выводе вместе с остальными столбцами. Для данного столбца следует задать условие: от 1 сентября 2010 г. до 30 сентября 2010 г.

В SQLServer2005 предусмотрено несколько различных форматов для представления дат. Наиболее используемым является следующий формат: 'ДД.ММ.ГГГГ ЧЧ:ММ:СС'. Даты можно указывать и в сокращенной форме 'ДД.ММ.ГГ'.

В поле Filterдля столбца Дата следует задать условие отбора >='01.09.2010'AND<='30.09.2010'. Альтернативный вариант задания условия с помощью операцииBETWEEN:BETWEEN'01.09.2010'AND'30.09.2010'.

Результат выполнения запроса представлен на рисунке 11.

Рисунок 11 – Выполнение запроса

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]