Использование псевдонимов таблиц

В приведенном выше примере в перечне возвращаемых столбцов после слова SELECT и в условии поиска после слова WHERE перед именем столбца через точку пишется название таблицы:

WHERE POKUPATELI.POKUP = RASHOD.POKUP

Намного лучше присвоить каждой таблице какое-нибудь краткое обозначение, псевдоним. Такие псевдонимы называются псевдонимами таблиц. Они определяются после имени каждой таблицы в указании списка таблиц-источников после слова FROM:

SELECT

FROM <таблица1 псевдоним1> [, < таблица2 псевдоним2>...]

WHERE...

Например, приведенный выше запрос после введения в него псевдонимов таблиц выглядит намного компактнее:

SELECT R.*, Р.ADRES

FROM RASHOD R, POKUPATELI P

WHERE P.POKUP = R.POKUP


Предложение ORDER BY - определение сортировки

Определить, по каким полям необходимо отсортировать записи в результирующем НД, можно, указав после предложения, следующего за словом WHERE, предложение

ORDER BY <список_столбцов>

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

Пример. Выдать все записи отпуска товара "Кока-кола", отсортировав их по каждому покупателю

SELECT POKUP, DAT_RASH, TOVAR, KOLVO

FROM RASHOD

WHERE TOVAR = "Кока-кола"

ORDER BY POKUP

Пример. Выдать все записи из таблицы RASHOD, отсортировав их по каждому покупателю

SELECT POKUP, DAT_RASH, TOVAR, KOLVO

FROM RASHOD

ORDER BY POKUP

Пример. Выдать все записи из таблицы RASHOD, отсортировав их по каждому покупателю, для каждого покупателя - по товару, для каждого товара - по дате

SELECT POKUP, TOVAR, DAT_RASH, KOLVO

FROM RASHOD

ORDER BY POKUP, TOVAR, DAT_RASH

Устранение повторяющихся значений

Часто в результирующий НД необходимо включать не все записи с одинаковым значением какого-либо столбца (комбинации столбцов), а только одну из них. В этом случае после ключевого слова SELECT указывают ключевое слово DISTINCT

SELECT [DISTINCT | ALL] {* <значение1> [, <значение2>...]}

FROM <таблица1> [, < таблица2>...]

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

Наоборот, если в результирующий запрос нужно включить все записи, после слова SELECT указывают слово ALL. В InterBase нет необходимости использовать ALL явно, поскольку это значение действует по умолчанию.

Пример. Выдать наименования всех отпущенных со склада товаров SELECT DISTINCT TOVAR FROM RASHOD


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: