O MySQL não permite que você se refira a um alias ou apelido de uma coluna (nome de um campo) de uma tabela, com a cláusula WHERE.
Vamos ver como contornar esta limitação e criar outras possibilidades e encontrar novas soluções.
Atualmente, a query MySQL, que segue abaixo, é ilegal e vai retornar um erro:
SELECT NomeCliente, IdadeCliente, CredCliente*1000 AS Credito FROM ClientesCidades WHERE Credito < 20000;
O resultado é um erro 1054:
ERROR 1054 (42S22): Unknown column 'Credito' in 'where clause'
A cláusula WHERE não consegue enxergar a “nova” coluna Credito.
O erro 1054 (42S22) ocorre por que, enquanto o alias (AS) faz output (saída) de colunas, a cláusula WHERE opera na entrada dos dados — determinando quais linhas devem ser selecionadas para o output.
O resultado pretendido é este aqui:
SELECT NomeCliente, IdadeCliente, CredCliente*1000 AS Credito FROM ClientesCidades WHERE CredCliente < 20;
+-----------------+--------------+---------+ | NomeCliente | IdadeCliente | Credito | +-----------------+--------------+---------+ | Jaden Moon | 29 | 17000 | | Cathleen Harvey | 39 | 12000 | | Marcia Cole | 49 | 13000 | | Charity Leblanc | 31 | 10000 | | Alea Beach | 21 | 15000 | | April Hubbard | 28 | 13000 | | Fay Shaffer | 50 | 19000 | | Minerva Hanson | 39 | 19000 | | Kelsie Whitney | 20 | 16000 | | Illana Cannon | 21 | 15000 | | Kylie Bradshaw | 20 | 16000 | | Carly Alston | 34 | 15000 | | Althea Knight | 42 | 18000 | +-----------------+--------------+---------+ 13 rows in set (0.02 sec)
Uma outra forma de obter este resultado é assim:
SELECT NomeCliente, IdadeCliente, CredCliente*1000 AS Credito FROM ClientesCidades WHERE CredCliente*1000 < 20000;
+-----------------+--------------+---------+ | NomeCliente | IdadeCliente | Credito | +-----------------+--------------+---------+ | Jaden Moon | 29 | 17000 | | Cathleen Harvey | 39 | 12000 | | Marcia Cole | 49 | 13000 | | Charity Leblanc | 31 | 10000 | | Alea Beach | 21 | 15000 | | April Hubbard | 28 | 13000 | | Fay Shaffer | 50 | 19000 | | Minerva Hanson | 39 | 19000 | | Kelsie Whitney | 20 | 16000 | | Illana Cannon | 21 | 15000 | | Kylie Bradshaw | 20 | 16000 | | Carly Alston | 34 | 15000 | | Althea Knight | 42 | 18000 | +-----------------+--------------+---------+ 13 rows in set (0.00 sec)