weranda
@weranda

Что такое выражение в SQL?

Приветствую.
Читаю документацию к Postgres и не уловлю суть того, что же является выражением в агрегатном выражении. Могли бы разъяснить это доступным языком с примерами?
Если принять в расчет то, что написано в самом верху главы: «выражениями являются: ... агрегатное выражение ...», то вообще глаза в разные стороны разбегаться начинают.
  • Вопрос задан
  • 89 просмотров
Решения вопроса 1
@alexalexes
Выражение, это значит, что в месте между, например, select и запятой может не только выбираться значение столбца (выполняться тривиальное действие):
select col1, -- извлекли содержимое колонки - вполне тривиальное действие
           col2 from table1

Но выполнятся более функциональное действие, требующее от планировщика запросов разобрать что-то, что находится до селекта и запятой (почему что-то? - это и есть выражение))) ):
select (col1 + col2) * 10 as result, -- а тут уже применили ариф. операции - написали выражение
           col2 from table1

В аргументах функции вы можете передавать не только значения, которые содержатся в колонках, но и как-то предварительно их вычислять с помощью арифметики, склеивания строк, преобразования типа, выбора логического варианта с помощью case, вставлять другую функцию и т.д.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Так там дальше по тексту все в виде примеров и расписано. В частности разница между * и именем конкретного столбца f1. А ещё добавка DISTINCT.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы