Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
E aí pessoal. Tenho uma dúvida simples.
Estava montando uma consulta usando INNER JOIN e tem duas tabelas com pelo menos um campo de mesmo nome.
Resolvi dar um apelido para cada campo na consulta para quando for realizar uma iteração não ter problemas com o índice no array.
Percebi que fazendo a consulta assim:
SELECT produto.nome NomeDoProduto, produto.descricao, imagem.nome NomeDaImagem FROM produto INNER JOIN imagem ON produto.id = imagem.idProduto ORDER BY produto.nome DESC
ou
SELECT produto.nome AS NomeDoProduto, produto.descricao, imagem.nome AS NomeDaImagem FROM produto INNER JOIN imagem ON produto.id = imagem.idProduto ORDER BY produto.nome DESC
teria o mesmo resultado.
Sempre usei a palavra chave AS. Alguém pode me explicar a diferença?
Obrigado.
Victor Cometti valeu pela ajuda! Achei que tinha algo relacionado com desempenho... ;)
Depois que criei o tópico encontrei esse link que explica essa situação :seta: http://goo.gl/KqWg6
ñ tem diferença alguma, só que na minha opnião usando o AS fica mais visível a atribuição do 'apelido' ou ALIAS, mas quando a query é muito grande e se usa muitos alias, ocultando o AS vai reduzir o tamanho da query
olha um exemplo de redução na query usando o alias
do seu jeito
SELECT produto.nome AS NomeDoProduto, produto.descricao, imagem.nome AS NomeDaImagem FROM produto INNER JOIN imagem ON produto.id = imagem.idProduto ORDER BY produto.nome DESC
reduzida ocultando o AS
SELECT p.nome Produto, p.descricao, i.nome Imagem FROM produto p INNER JOIN imagem i ON p.id = i.idProduto ORDER BY p.nome DESC
reduzida usando o AS
SELECT p.nome AS Produto, p.descricao, i.nome AS Imagem FROM produto AS p INNER JOIN imagem AS i ON p.id = i.idProduto ORDER BY p.nome DESC