Функции обладают бесконечной вложенностью. Например, если мы хотим преобразовать результат функции, то мы можем использовать функцию как аргумент.
Посмотрим, как работает вложенность на примере функции LOWER()
. Эта функция принимает на вход строку и возвращает ее в нижнем регистре.
Сейчас мы хотим получить из имени Alexander первые 4 символа и перевести ее в нижний регистр.
Запрос выглядит так:
select lower(substr('Alexander', 1, 4))
В результате получим: alex
.
И так можно до бесконечности вкладывать одну функцию в другую, что делает SQL очень гибким инструментом для работы с данными.
Конечно, много вложенных функций сразу же поднимают сложность восприятия запроса для других пользователей и увеличивают время его выполнения, поэтому лучше писать максимально просто! Способы увеличения скорости запроса и прочие возможности оптимизации мы обсудим в последней теме нашего курса.