domingo, 8 de janeiro de 2012

Consulta multi-tabelas

O objetivo é descrever consultas que retornam resultados pertencentes a várias tabelas. No entanto, será visto o conceito de apelido com o intuito de auxiliar a construção de tais consultas.

O SQL permite que seja usado um apelido, temporariamente, para colunas ou tabelas.

Apelido para colunas:


O apelido foi inserido após a coluna tituloCategoria. Ou seja, o que vem depois do AS é um apelido. Um apelido modifica o nome de tituloCategoria na exibição dos resultados, conforme ilustrado na figura abaixo.


Observe que nome da coluna não é o original (tituloCategoria) e sim o apelido(t). Também podemos definir apelidos para tabelas. A função do apelido para tabelas será vista brevemente.


Um exemplo da necessidade da combinação de duas tabelas é visto na tentativa de consultar o nome dos produtos e seus respectivos titulos de categorias [referência artigo meu blog] . A consulta abaixo, realizada apenas na tabela produto, não mostra o que é desejado.

Resultado da consulta:



Observa-se que o resultado mostra o nome do produto e o id da categoria, mas é desejado o nome da categoria. Isso porque o nome da categoria está na tabela categorias e não em produtos. Torna-se necessário realizar uma consulta que relacione as duas tabelas.

Um conexão interna combina os registros de duas tabelas usando operados de comparação em uma condição. Essa combinação é realizada através do INNER JOIN.



Resultado da consulta multi-tabelas:


Observe que nome produto é da tabela produtos e tituloCategoria é de categorias. A figura abaixo é um esquema resumido do processo que liga as tabelas produtos e categorias para o resultado acima seja exibido.



Os resultados são exibidos quando idCategoria de produtos é igual a id de categorias.


Referência

BEIGHLEY, LYNN. Use a Cabeça SQL.Alta Books, 2008.

Nenhum comentário:

Postar um comentário