Tabelas em junções
Ao combinar dados de várias tabelas, você deve decidir quais tabelas utilizar.Há várias considerações digno de nota:
Combinando três ou mais tabelas operação cada JOIN combina duas tabelas. No entanto, você pode usar várias operações JOIN em uma consulta para agrupar dados de várias tabelas.Como resultado de cada operação JOIN é efetivamente uma tabela, você pode usar esse resultado como um operando em uma operação join subseqüente.Por exemplo, para criar um conjunto de resultados no qual cada linha contém o título de um livro, um autor e a porcentagem de royalties que o autor recebe, você deve combinar dados de três tabelas: autores, títulos e titleauthor.O SQL resultante pode parecer com isso:
SELECT title, au_fname, au_lname, royaltyper FROM authors INNER JOIN titleauthor ON authors.au_id = titleauthor.au_id INNER JOIN titles ON titleauthor.title_id = titles.title_id
Usando uma tabela simplesmente para associar outras você pode incluir uma tabela em uma associação, mesmo se não desejar incluir qualquer uma das colunas da tabela em um conjunto de resultados.Por exemplo, para estabelecer um conjunto de resultados em que cada linha descreve um par título-loja em que essa loja vende esse título, você inclui colunas de duas tabelas: títulos e lojas.Mas você deve utilizar uma terceira tabela, vendas, para determinar que lojas venderam que títulos.O SQL resultante pode parecer com isso:
SELECT title, stor_name FROM titles INNER JOIN sales ON titles.title_id = sales.title_id INNER JOIN stores ON sales.stor_id = stores.stor_id
Observe que a tabela de vendas não contribui nenhuma coluna para o conjunto de resultados.
Usando uma tabela duas vezes em uma consulta você pode usar a mesma tabela duas (ou mais) vezes, de dentro de uma única consulta.Para obter mais informações, consulte usando uma tabela dobro em uma consulta.
Usando algo no lugar de uma tabela no lugar de uma tabela, você pode usar uma consulta, um modo de exibição ou uma função definida pelo usuário que retorna uma tabela.Para obter mais informações, consulte Como: criar consultas usando algo além do mais uma tabela.
Para obter mais informações sobre como adicionar tabelas a uma consulta, consulte Como: Adicionar tabelas a consultas.