Язык запросов SQL

         

Предложения WHERE



Предложения WHERE

В этой книге предложение WHERE использовалось много раз без всякого объяснения, потому что его значение и способ использования очевидны. Оператор выполняет операцию (такую как SELECT, DELETE или UPDATE) только с теми табличными строками, для которых определенное условие истинно. У предложения WHERE такой синтаксис:

SELECT список_столбцов

FROM имя_таблицы

    WHERE условие ;

DELETE FROM имя_таблицы

    WHERE условие ;

UPDATE имя_таблицы

    SET столбец1=значение1, столбец2=значение2, ...,

        столбец_n=значение_n

    WHERE условие ;

Во всех случаях условие в предложении WHERE может быть или простым, или сколь угодно сложным. Чтобы из множества условий создать одно, их можно соединить друг с другом при помощи логических связок AND, OR и NOT. В этой главе мы еще вернемся к ним.

Вот некоторые типичные примеры предложений WHERE.

WHERE CustomerlD = SALES.CustomerlD

WHERE FOODS.Calories = COMIDA.Caloria

WHERE FOODS.Calories < 219



WHERE FOODS.Calories > 3 * base_value

WHERE FOODS.Calories < 219 AND FOODS.Protein > 27.4

Условия, выражаемые предложениями WHERE, называются предикатами. Предикат — это выражение, которое утверждает факт, относящийся к значениям из этого выражения.

Например, предикат FOODS.Calories < 219 является истинным, если в текущей строке значение столбца FOODS.Calories меньше 219. Если утверждение является истинным, то оно удовлетворяет условию. Утверждение может быть истинным (т.е. его значение равно True), ложным (его значение равно False) или с неопределенным логическим значением. Последний случай бывает тогда, когда в утверждении какие-либо элементы имеют значение NULL. Наиболее распространенными являются предикаты сравнения (=, <, >, О, <= и >=), но в SQL имеются и некоторые другие, которые значительно увеличивают возможности "отфильтровывать" требуемые данные от всех остальных. Ниже приведен список с предикатами, предоставляющими такую возможность.

  • Предикаты сравнения.
  • BETWEEN.
  • IN [NOT IN].
  • LIKE [NOT LIKE].
  • NULL.
  • ALL, SOME, ANY.
  • EXISTS.
  • UNIQUE.
  • OVERLAPS.
  • MATCH.
  • SIMILAR.
  • DISTINCT.


Содержание раздела