Ответ на #вопрос7



Код выдаст ошибку, так как в данном случае alias нельзя использовать в операторе WHERE.



Порядок выполнения упомянутого SELECT запроса следующий:

1. FROM

2. WHERE

3. SELECT



Соответственно при выполнении команды WHERE, alias, задаваемый в SELECT еще неизвестен.



Для PostgreSQL или MySQL данную проблему можно решить, например, следующим образом:



WITH ct AS (

SELECT id, name, CONCAT ('EU:', city) AS city_m

FROM customers

)

SELECT ct.*

FROM ct

WHERE ct.city_m = 'EU:Oslo';



А какие еще варианты решения данной проблемы вы знаете?



#вопросы #собеседование