 |
Consultas com JOINS
Por: Thiago Caserta  | Publicado em: 11-02-2008 | Comentários: 0 | Acessos: 257 | Avaliação: (114) (?)
Quando comecei na área de TI, sempre me deparava com situações no SQL em que precisava pegar campos de outras tabelas não vinculadas diretamente com a que estamos manipulando, e sentia certa dificuldade em amarrar as tabelas pelas suas respectivas chaves, fossem elas código, id, usuário, etc.
Bem, algo que é de extrema ajuda nesses casos são os nossos amigos JOINs (LEFT JOIN, RIGHT JOIN, INNER JOIN e FULL JOIN).
Hoje percebo que muitos daqueles que estão começando na área de TI sentem o mesmo.
Junções, tradução de JOINs, são utilizadas em duas cláusulas específicas: FROM e WHERE, eu particularmente prefiro usar na cláusula FROM, por questões de desempenho e organização.
Neste artigo vamos analisar algumas consultas possíveis com essas poderosas cláusulas. Então: Let s JOIN!
A princípio vamos entender o primeiro JOIN mencionado, o LEFT JOIN.
Como podemos observar, e a própria sintaxe indica, essa cláusula trabalha com os dados da tabela "Esqueda" como sendo os dados principais, ou seja, de acordo com o exemplo abaixo, o LEFT JOIN mostrará o que esta na Tabela1 (esquerda), podendo trabalhar também com qualquer outro dado da Tabela2 com a mesma chave encontrada na Tabela1.
Os dados principais que estaremos trabalhando serão os da Tabela1, já que esta, como já mencionado, é a nossa tabela " Esquerda ".
SELECT Tab1.* FROM Tabela1 Tab1
LEFT JOIN Tabela2 Tab2 ON Tab1.Cod = Tab2.Cod
Podemos fazer a mesma amarração junto à cláusula WHERE assim como no exemplo abaixo onde estamos pegando os mesmos valores do exemplo acima.
SELECT Tab1.* FROM Tabela1 Tab1, Tabela2 Tab2
WHERE Tab1.Cod *= Tab2.Cod
Nesse exemplo os sinais " *= " indicam a condição LEFT JOIN.
Partiremos agora para o irmão mais próximo do LEFT JOIN, o RIGHT JOIN.
O RIGHT JOIN retorna o que estiver na Tabela1 e Tabela2 com a mesma chave, e sendo o inverso do LEFT JOIN a tabela principal se torna a tabela da " Direita ", ou seja a Tabela2.
SELECT Tab2.* FROM @Tabela1 Tab1
RIGHT JOIN @Tabela2 T2 ON Tab1.Cod = Tab2.Cod
Do mesmo modo que podemos utilizar o LEFT JOIN na cláusula WHERE podemos fazer assim também com o RIGHT JOIN.
SELECT Tab2.* FROM @Tabela1 Tab1, @Tabela2 Tab2
WHERE T1.Cod =* T2.Cod
Observe que o sinal no RIGHT JOIN é diferente do LEFT JOIN, de "Asterisco ="mudamos para"= asterísco ".
Alteramos o asterisco da esquerda para a direita, o que se torna uma ajuda para não confundirmos as cláusulas.
LEFT JOIN - Asterisco à esquerda;
RIGHT JOIN - Asterisco à direita.
Desse ponto partiremos para os dois últimos JOINS, o INNER JOIN e o FULL JOIN.
O INNER JOIN nos retorna apenas o que esta na Tabela1 e Tabela2 com a mesma chave.
Exemplo:
SELECT * FROM @Tabela1 T1
INNER JOIN @Tabela2 T2 ON T1.Cod = T2.Cod
Assim como o LEFT JOIN e o RIGHT JOIN, podemos da mesma forma fazer essa amarração junto à cláusula WHERE, como segue o exemplo:
SELECT * from @Tabela T1, @Tabela2 T2
WHERE T1.Cod = T2.Cod
Nesse exemplo o sinal " = " indica a função INNER JOIN.
Já O FULL JOIN retorna o que estiver na Tabela1 e Tabela2 levando em conta o seu significado FULL, ou seja, completo. Portanto o FULL JOIN retorna tudo o que há nas Tabelas selecionadas
SELECT * FROM @Tabela1 T1
FULL JOIN @Tabela2 T2 ON T1.Cod = T2.Cod
Bem, essas são as 4 cláusulas mais utilizadas para fazermos amarrações entre tabelas ou pegarmos valores relacionados. Com certeza é de grande ajuda para todos os que fazem uso de banco de dados independentemente de qual seja.
Espero que esta matéria tenha sido de grande ajuda para àqueles que estão começando ou sentem dificuldades nesse assunto.
Até a próxima!
Avalie este artigo:
Current: 5 / 5 stars - 3 vote(s).
Fonte Artigos Gratuitos Online - Artigonal.com
Perfil o autor:Thiago Caserta é Graduando em Análise de Sistemas pela Metrocamp em Campinas/SP, formado em Sistemas de Informação pelo Politécnico Bento Quirino, possui certificações IBM e Solectron de Soluções Corporativas em TI , Networking pela D-Link Institute Technology e práticas de e-commerce e EDI pela EAN Brasil. Bons conhecimentos em construtores de aplicações e editores tais como Visual Studio e Eclipse.Trabalha atualmente como desenvolvedor .NET e SQL Server na empresa APTUS Tecnologia em Informação em Campinas, atuou em empresas renomeadas na área de web utilizando as tecnologias PHP, AJAX e JAVA.
|
Submeter artigos se tornou um dos meios os mais populares de gerar links de qualidade e tráfego para o seu site. CADASTRE-SE JÁ, É DE GRAÇA! |
|
Artigos Relacionados
Problemas com modelos de aplicações web Por: Caio Azevedo | 14/02/2008 | Programação Em minhas recentes atividades como arquiteto de soluções .net, deparei em alguns clientes com uma situação no mínimo inusitada...
Especial sobre .Net Por: Caio Azevedo | 14/02/2008 | Programação Estamos a beira de uma revolução, a plataforma .Net é um fato, boa parte dos desenvolvedores seguirá esse caminho. Enquanto isso na “vida real” nos deparamos todo dia com a boa e velha formula: ASP, VB 6.0/COM+, JavaScript, SQL Server. E é nesse ambiente que tenho dedicado meu tempo nos últimos seis meses, e o que pretendo nesse espaço é compartilhar o que aprendemos nesse período.
ADO .NET - Recomendações para estratégia de acesso a dados Por: José Carlos Macoratti | 17/02/2008 | Programação Se você está iniciando o aprendizado ou migrando para a plataforma .NET, pode estar confuso quando o assunto é acesso a dados. Motivos não faltam, afinal você tem a sua disposição diversas opções na plataforma .NET para realizar acesso a dados com classes e métodos distintos: DataSets, DataReaders, XML, TableAdapters, DataAdapter, Command, etc.
O novo modelo de compilação e os novos controles Por: José Carlos Macoratti | 17/02/2008 | Programação Com o advento da ASP.NET 2.0, houve uma grande mudança em relação as versões anteriores 1.x. O processo de criação de uma aplicação Web Form na versão 2.0 não depende mais da definição de um diretório virtual. Não existe também na nova versão um projeto ASP.NET web.
A Gestão de Requisitos Por: José Carlos Macoratti | 17/02/2008 | Programação Conhecer e dominar uma linguagem de programação é bom, mas não é tudo. Para criar sistemas robustos e com qualidade, é preciso mais do que uma boa linguagem e um bom programador.
Segurança - Trocando A Porta Do Sql Server 2000 Por: Tulio Rosa | 24/05/2008 | Programação Existem várias configurações que podemos fazer para garantir a segurança do banco de dados, entre elas temos a opção de alterar a porta default utilizada nas conexões, fazendo isso somente as solicitações direcionadas a nova porta terão respostas, as demais receberão erros como se o banco não existisse.
Últimos Informática artigos
Software Livre_Passado, Presente Futuro Por: Alexandre Silveira | 18/04/2008 Este artigo conta um pouco da história do software livre, resumindo desde sua criação até as suas expectativas para o futuro.
Estudando As Particularidades Da Ferramenta Microsoft Windows Sharepoint Services Como Soluções Corporativas Por: Vanessa G. Moreira | 14/04/2008 Este trabalho é de grande importância para os alunos, professores e profissionais da área de informática que fazem bom uso da Tecnologia da Informação, pois os mesmos poderão entender como funcionam as particularidades da ferramenta Microsoft Windows Sharepoint Services dentro de uma organização. O mesmo está em evidência, se expandindo a cada dia nas mais variadas empresas. Portanto, quem pretende utilizar esta ferramenta deverá conhecer bem sobre este sistema.
Windows 2008 - Server Core Por: Leonardo Moraes | 21/03/2008 Nova opção de instalação do Windows Server que visa gerar economia, redução de TCO e aumento de segurança.
Qual O Melhor Sistema Operacional? Por: Ruben Zevallos Jr. | 08/03/2008 Qual o melhor sapato? Qual a melhor roupa? Qual o melhor carro?
Conspiração Cibernética Por: Mathias Gonzalez | 03/03/2008 Seu micro já travou hoje? Não estressa não! Isso acontecerá com todos nós pobres mortais que confiamos nestas "drogas" de máquinas que parecem ter sido programadas para nos tirar o sossego ou no mínimo nos viciar nelas.
A organização eficiente do e-mail Por: Armando Terribili Filho | 15/02/2008 O objetivo deste artigo é apresentar algumas facilidades para você na gestão de sua caixa postal. Coisa simples, porém, útil.
Dificuldades na exportação de software: de quem é a culpa? Por: Armando Terribili Filho | 15/02/2008 O artigo mostra que as dificuldades de exportação de software transcendem as políticas de incentivo fiscal do governo brasileiro, tendo como co-responsáveis os empresários que não investem em qualificação e certificação de seus profissionais. No mercado internacional, as certificações (de empresas e de profissionais) são valorizadas e funcionam como um "cartão de visitas" para credenciamento das empresas para exportar software.
Exemplo de otimização de armazenamento de dados Por: Caio Azevedo | 14/02/2008 Esse artigo tem como objetivo propor a solução de um problema no qual deparamos com razoável freqüência, e se você ainda não o teve pela frente, provavelmente ainda o terá especialmente se você desenvolve aplicações comerciais.
|
 |