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

Условные выражения GASC



Условные выражения GASC

В каждом полноценном компьютерном языке имеется какой-либо условный оператор или условная команда. На самом же деле у большинства языков таких операторов или команд имеется несколько. Вероятно, самой распространенной среди них является структура IF...THEN...ELSE...ENDIF. Если вычисленным значением условия, следующего за ключевым словом IF (если), является True (истина), то выполняется блок команд, который следует за ключевым словом THEN (тогда). А если вычисленное значение условия не равно True, то выполняется блок команд, следующий за ключевым словом ELSE (иначе). О завершении структуры свидетельствует ключевое слово ENDIF (конец IF). Эта структура является прекрасным средством представления в виде кода любой операции, которая может выполняться одним из двух способов. С другой стороны, структура IF...THEN...ELSE...ENDIF меньше подходит для операций, имеющих больше двух вариантов выполнения.

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

В SQL:2OO3 CASE является выражением, а не оператором. Поэтому CASE в этом языке является только частью оператора, а не оператором как таковым. В SQL выражение CASE можно поместить почти в любом месте, где только может находиться какое-либо значение. Во время выполнения программы для этого выражения вычисляется значение. А для операторов CASE из других языков никакое значение не вычисляется; вместо этого они управляют выполнением программы.

Выражение CASE можно использовать двумя способами.

  • Использовать вместе с условиями поиска. Выражение CASE отыскивает в таблице такие строки, для которых эти условия выполняются, т.е. являются истинными. Если для какой-либо строки условия являются истинными, то оператор, в состав которого входит выражение CASE, работает с данной строкой.
  • Использовать, чтобы сравнить значение, указанное в этом выражении, с содержимым табличного поля. Действия, выполняемые оператором, содержащим выражение CASE, зависят от того, какому из нескольких указанных значений соответствует содержимое поля в очередной табличной строке.

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



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