Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ФОРМАТИРОВАНИЕ СВОДНОЙ ТАБЛИЦЫ.docx
Скачиваний:
8
Добавлен:
12.04.2015
Размер:
188.49 Кб
Скачать

Указание источника данных

Если источником данных для таблиц запроса является внеш­няя база (это может быть БД Access, Paradox, Foxpro, dBASE или другая БД с установленным драйвером ODBC), необходимо ука­зать в инструкции SELECT предложение IN:

SELECT selectionjist FROM table_name IN DB_name [str_connection];

где: DB_name - имя внешней БД, используемой в качестве ис­точника данных (в кавычках);

str_connection - строка подключения указанного источника данных (в квадратных скобках). Для баз Access параметр str_connection не указывается.

Например, если требуется указать в качестве источника базу D:\Edu.mdb, нужно указать следующее предложение IN:

IN "D:\Edu.mdb"

Для других баз данных (не Access) имя файла не указывается (вместо этого вводим пустую строку ""), а параметр str_connection имеет специальный вид, например:

IN [Paradox 5.x; DATABASE=D:\Edu;]

IN "" [Foxpro 2.6; DATABASE=D:\Edu;]

IN "" [dBASE 5.0; DATABASE=D:\Edu;]

Если подключается источник данных ODBC, то в параметре str_connection указывается строка следующего вида:

IN [ODBC; DATABASE=DB_name; UID=user_name; PWD=password; DSN=source_name]

где: DB_name - имя базы данных; user_name - имя пользователя; password - строка пароля; source_name - имя источника данных.

Если не указана БД (DATABASE=) или источник данных (DSN=), то при выполнении запроса будет выведено диалоговое окно со списком доступных источников данных, где потребуется выбрать нужный. Если не указать имя пользователя (UID=) и па­роль (PWD=), то при выполнении запроса отобразится диалог ре­гистрации пользователя.

ЗАПРОС НА СОЗДАНИЕ ТАБЛИЦЫ

Выборку, полученную при выполнении запроса, можно со­хранить в новой таблице. Для этого в инструкции SELECT исполь­зуется ключевое слово INTO:

SELECT selectionjist INTO new_table

FROM table_name;

Например, чтобы сохранить данные о студентах (фамилия, имя и отчество) в новой таблице (назовем ее qryStudentsPersonnel), нужно выполнить такой запрос:

SELECT fLastName, fFirstName, fMiddleName INTO tblStudents-

Personnel

FROM tbIStudents;

ПРЕДЛОЖЕНИЕ WHERE

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

Для задания условий выборки в операторе SELECT предусмот­рено использование предложения WHERE, которое имеет сле­дующий синтаксис:

SELECT selectionjist

FROM table_name

[WHERE condition [,...n]];

WHERE служит для задания условий (condition) выборки, кото­рые указываются непосредственно за этим предложением и кро­ме имен столбцов могут включать в себя следующие компоненты построения условий:

  • реляционные операторы;

  • булевы операторы.

Применение реляционных операторов

Реляционный оператор - это математический символ, кото­рый указывает на определенный тип отношения между двумя значениями. Перечислим реляционные операторы, которые под­держиваются в языке SQL:

  • =-равно;

  • >-больше;

  • <-меньше;

  • >= - больше или равно;

  • <= - меньше или равно;

  • <> - не равно.

Наверное, самый простой и часто используемый из этих опе­раторов - оператор равенства. Например, если необходимо ото­бразить полную информацию из таблицы tbIStudents только для студентов с фамилией «Иванов», следует задать условие отбора для столбца fLastName:

SELECT *

FROM tbIStudents

WHERE fLastName = 'Иванов';

Если в этом же запросе изменить знак равенства на противо­положный знак «не равно», то будет отображена информация о

студентах с любой фамилией, кроме фамилии «Иванов»:

SELECT *

FROM tbIStudents

WHERE fLastName о 'Иванов';

К текстовой информации можно применять и оставшиеся операторы сравнения (<, >, <=, >=). Они сравнивают символы в соответствии с порядком их следования в алфавите. В частности, литера «А» младше литеры «Б», которая младше «В» и т.д.

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

SELECT *

FROM tbIStudents WHERE fLastName < 'И';

Так же работают и операторы, которые используются совме­стно с именами столбцов, содержащих не текстовую информа­цию. Например, для отображения информации о товарах (из рас­смотренной выше таблицы tbIGoods), цена которых ниже 700 грн., можно выполнить следующий запрос:

SELECT fNameGoods AS Товар, fModelGoods AS Модель,

fPriceGoods AS Цена

FROM tbIGoods

WHERE fPriceGoods < 700;