Справка по SQL | страница 2
>SELECT DISTINCT speed, ram
>FROM Pc
>ORDER BY ram DESC
или
>SELECT DISTINCT speed, ram
>FROM Pc
>ORDER BY 2 DESC
Результат, приведенный ниже, будет одним и тем же.
speed | ram |
---|---|
600 | 128 |
750 | 128 |
900 | 128 |
450 | 64 |
500 | 64 |
450 | 32 |
500 | 32 |
Сортировку можно проводить по возрастанию (параметр ASC принимается по умолчанию) или по убыванию (параметр DESC). Сортировка по двум полям
>SELECT DISTINCT speed, ram
>FROM Pc
>ORDER BY ram DESC, speed DESC
даст следующий результат:
speed | ram |
---|---|
900 | 128 |
750 | 128 |
600 | 128 |
500 | 64 |
450 | 64 |
500 | 32 |
450 | 32 |
Выборка. Предложение WHERE.
Горизонтальную выборку реализует предложение WHERE , которое записывается после предложения FROM. При этом в результирующий набор попадут только те строки из источника записей, для каждой из которых значение предиката равно TRUE. То есть предикат проверяется для каждой записи. Например, запрос "получить информацию о частоте процессора и объеме оперативной памяти для компьютеров с ценой ниже $500" можно сформулировать следующим образом:
>SELECT DISTINCT speed, ram
>FROM Pc
>WHERE price<500
>ORDER BY 2 DESC
speed | ram |
---|---|
450 | 64 |
450 | 32 |
500 | 32 |
В последнем запросе использовался предикат сравнения с использованием операции сравнения "<" (меньше чем). Кроме этой операции сравнения могут использоваться: "=" (равно), "" (больше), "=" (больше или равно), "<=" (меньше или равно) и "<>" (не равно). Выражения в предикатах сравнения могут содержать любые поля из таблиц, указанных в предложении FROM. Символьные строки и константы типа дата/время записываются в апострофах.
Примеры простых предикатов сравнения:
price < 1000 | Цена меньше $1000. |
type = 'laptop' | Типом продукции является ПК-блокнот. |
cd = '24x' | 24-скоростной CD-ROM. |
color <>'y' | Не цветной принтер. |
ram - 128 0 | Объем оперативной памяти свыше 128 Mb. |
price <= speed*2 | Цена не превышает удвоенной частоты процессора. |
Булевы операторы AND, OR, NOT и трехзначная логика. Предикаты
Предикаты представляют собой выражения, принимающие истинностное значение. Они могут представлять собой как одно выражение, так и любую комбинацию из неограниченного количества выражений, построенную с помощью булевых операторов AND, OR или NOT. Кроме того, в этих комбинациях может использоваться SQL-оператор IS, а также круглые скобки для конкретизации порядка выполнения операций.
Предикат в языке SQL может принимать одно из трех значений