SELECT kod, NAME, CREDITLIMIT

FROM Table3

WHERE CITY=“Ставрополь”

ORDER BY CREDITLIMIT DESC

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

имя поля[упорядочение]

[,имя поля [упорядочение]] ...,

где аргумент «упорядочение» может принимать значение ASC(возрастание) или DESC (убывание). По умолчанию устанавливается значение ASC. В качестве аргументов имя поля могут использоваться только поля результирующей таблицы. Поэтому недопустима следующая конструкция:

SELECT kod, NAME, CREDITLIMIT

FROM Table3

ORDER BY CITY

Для идентификации полей, по которым осуществляется упорядочивание, можно использовать не только наименования полей результирующей таблицы, но и их номера (номер поля указывает порядковую позицию данного поля в результирующей таблице запроса). Благодаря этому можно упорядочить результат на основе вычисляемых полей, которые не обладают именами. Например, результатом выполнения запроса:

SELECT Kod1, UNITPRICE * (1 + 0,18)

FROM Товары

ORDER BY 2

будет являться результирующая таблица, во второй столбец которой будет помещена информация о стоимости товаров с учетом НДС. Записи в выборке будут упорядочены по второму столбцу.

Выборка с использованием оператора BETWEEN

Для организации выборки информации из базы данных, принадлежащей некоторому диапазону, в SQL-запросах используются операторы:
«>(Больше)»; «<(Меньше)»иBetween (Между). Выбор каждого из этих операторов осуществляется в окне мастера запросов из списка Criteria (Критерий), расположенного вовкладке Filter (Фильтр).Операторы
«>(Больше)» и «<(Меньше)» используются в том случае, если задана только нижняя или верхняя граница диапазона, a оператор Between (Между) – если известны обе границы диапазона.

С помощью SQL-запроса, набранного в командном окне,

SELECT kod, NAME, UNITPRICE

FROM Table4

WHERE UNITPRICE BETWEEN 20000 AND 100000

на экран будет выведена таблица, содержащая сведения о товарах,стоимость которых (UNITPRICE) находится в диапазоне от 20000 до 100000 включительно. Оператор BETWEEN возвращает истинные значения и для граничных точек.

Кроме того, при организации выборки из таблицы значений, не принадлежащих некоторому диапазону, может быть использовано условие NOT BETWEEN (не принадлежит диапазону между величинами), например:

SELECT kod, NAME, UNITPRICE

FROM Table4

WHERE UNITPRICE NOT BETWEEN 20000 AND 100000

Выборка с использованием оператора IN (принадлежит)

СУБД Visual FoxPro позволяет при создании запросов формировать несколько условий. В том случае, если все задаваемые условия накладываются на одно поле, их можно разместить в одной строке. Для этих целей используется оператор IN (принадлежит).

В частности, результатом выполнения SQL-запроса, приведенного ниже

SELECT kod, NAME, UNITPRICE

FROM Table4

WHERE UNITPRICE IN (100000, 200000, 500000)

является таблица, содержащая информацию о товарах, цена которых равна 100000, 200000 или 500000.

Оператор IN является краткой записью условия, представляющего собой последовательность отдельных сравнений, соединенных между операторами OR (или). Предыдущая конструкция SELECT эквивалентна следующей конструкции:

SELECT kod, NAME, UNITPRICE

FROM Table4

WHERE UNITPRICE=100000

OR UNITPRICE=200000

OR UNITPRICE=500000

Как и в случае с оператором BETWEEN можно также использовать конструкцию NOT IN (не принадлежит), например:

SELECT kod, NAME, UNITPRICE

FROM Table4

WHERE UNITPRICE NOT IN (100000, 200000, 500000)

Выборка с использованием шаблонов

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

SELECT kod, NAME, UNITPRICE

FROM Table4

WHERE NAME LIKE “T%”

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

Таблица 4 – результат выборки по шаблону

kod NAME UNITPRICE
Toshiba 1200 600.00
Turbo Pascal 200.00

Шаблоны в языке SQL описываются с помощью оператора LIKE, который может быть представлен в виде:

Наши рекомендации