Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Сортировка записей. Простая выборка данных






Простая выборка данных

Для выборки данных служит оператор SELECT. В простейшем виде этот оператор имеет такой формат:

SELECT Список_полей FROM Список_таблиц

Здесь SELECT (выбор) и FROM (из) – зарезервированные слова. Подобно зарезер­вированным словам Delphi они не могут использоваться в качестве имен полей, таблиц или иных сущностей БД. Если из таблиц в списке таблиц выбираются все поля, вместо списка полей можно указать символ звездочки (*). Например,

SELECT * FROM Books

Запрос означает выбор всех полей из таблицы Books.

SQL-интерпретатор BDE игнорирует регистр букв в зарезервированных словах или названиях полей, таблиц и других сущностей БД (индексы, ограничения и т. п.).

Этот простейший формат выборки позволяет формировать НД из нужных полей нужных таблиц. Например, следующий оператор выберет только три поля из таблицы Books:

SELECT BName, BAuthor, BPublish FROM Books

Здесь BName – название книги, BAuthor – автор(ы), BPublish – издательство.

Выборка из связанных таблиц

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

Чтобы учесть реляционную связь по полям NFirm и FirmID, нужно установить кри­терий отбора:

SELECT * FROM Nakls, Firms

WHERE FirmID=NFirm

Здесь Nakls (Накладные), Firms (Партнеры) – таблицы; FirmID (уникальный иден­тификатор партнера) – поле таблицы Firms, NFirm (уникальный идентификатор партнера) – поле таблицы Nakls.

Критерий отбора формулируется в секции, которая начинается зарезервированным словом WHERE (где). Чтобы связать две таблицы, следует указать, что для каждой записи таблицы Nakls (она открывает перечень таблиц) в поле NFirm содержится шифр связанной с ней записи из таблицы Firms. В результирующем НД будет столько записей, сколько их имеется в таблице Nakls, причем к каждой записи Nakls будут справа добавлены все поля записи таблицы Firms с информацией об указанном в накладной партнере.

Связывание таблиц в запросе не требует обязательного наличия индексов по под­становочным полям, но если такие индексы есть, BDE будет их использовать.

Сортировка записей

Для сортировки используется секция, начинающаяся зарезервированными словами ORDER BY (сортировать по). Отсортируем записи по полю NaklID (уникальный иденти­фикатор накладной, первичный ключ).

SELECT

NaklID, NDate, FName, TName, NSum, NPayedSum, NRetSum, NCoeff, NRetDate

FROM Nakls, Firms, TypeNakl

WHERE FirmID=NFirm AND TypeID=NType

ORDER BY NaklID

В БД есть таблица подстановки TypeNakl, содержащая два поля: TypeID (целого типа, первичный ключ) и текстовое поле TName. В поле TypeID указаны возможные зна­чения поля NType (тип накладной) в виде чисел от 0 до 7, а в поле TName – расшифровка смысла типа (0 – покупка у поставщика; 1 – продажа покупателю; 2 – воз­врат поставщику; 3 – возврат от покупателя; 4 – книги получаются по об­мену; 5 – книги передаются по обмену; 6 – покупка с предоплатой; 7 – про­дажа с предоплатой). Другие поля означают: NDate – дата составления накладной; FName – название партнера; NSum – сумма наклад­ной с учетом значения поля NCoeff; NPayedSum – оплаченная сумма (не используется в накладных обмена); NRetSum – сумма возврата (не используется в накладных обмена); NCoeff – величина скидки/наценки; NRetDate – срок возврата нереализованных книг (не используется в на­кладных обмена).

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


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.005 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал