SQL Join | |
SQL >
Comandos SQL >
Join
Agora iremos abordar as uniões. Para efetuar uniões corretas na linguagem SQL, são necessários muitos dos elementos introduzidos até agora. Suponhamos que temos as duas tabelas seguintes: Tabela Store_Information
Tabela Geography
e queremos descobrir quais as vendas por região. Constatamos que a tabela Geography inclui informações sobre regiões e lojas e a tabela Store_Information contém informações de vendas para cada loja. Para obter as informações de vendas por região, é necessário combinar as informações das duas tabelas. Examinando as duas tabelas, descobrimos que estão ligadas através do campo comum, store_name. Primeiro iremos apresentar a instrução SQL e explicar posteriormente a utilização de cada segmento: SELECT A1.Region_Name REGION, SUM(A2.Sales) SALES
FROM Geography A1, Store_Information A2 WHERE A1.Store_Name = A2.Store_Name GROUP BY A1.Region_Name; Resultado:
As duas primeiras linhas dizem ao sistema SQL para selecionar dois campos, o primeiro é o campo "region_name" da tabela Geography (com alias como REGION), e o segundo é o somatório do campo "Sales" da tabela Store_Information (com alias como SALES). Repare que agora os alias das tabelas são utilizados aqui: Geography possui alias como A1, Store_Information com alias como A2. Sem alias, a primeira linha seria SELECT Geography.Region_Name REGION, SUM(Store_Information.Sales) SALES
que é muito mais inadequada. Na sua essência, os alias de tabelas tornam toda a instrução SQL muito mais fácil de compreender, em especial quando se encontram incluídas várias tabelas. A seguir, damos atenção à linha 3, a instrução WHERE. É aqui que especificamos a condição de união. Neste caso, queremos garantir que o conteúdo de "store_name" na tabela Geografia corresponde ao da tabela Store_Information e a forma de o fazer é defini-las de forma igual. A instrução WHERE é essencial para garantir que obtém o resultado correto. Sem a instrução WHERE correta, será obtida uma União Cartesiana. As uniões cartesianas irão produzir uma consulta com todas as combinações possíveis das duas (ou qualquer que seja o número de tabelas na instrução FROM). Nesse caso, uma união cartesiana iria resultar num resultado com o total de 4 x 4 = 16 linhas.
Copyright © 2024 1keydata.com Todos os direitos reservados. |