Fórum WMO: Por Que Usar O Inner Join? - Fórum WMO

Ir para

Página 1 de 1
  • Novo tópico
  • Responder
  • Ícone  Compartilhar

Por Que Usar O Inner Join?

#1 Membro offline   Foxn 

  • Alone in the dark
  • Ícone
  • Grupo: Usuários
  • Posts: 1.230
  • Cadastrado: 18/01/2003
  • Sexo:Masculino
Pontos: 0
Neutral

Postou 21/06/2004, 10:34

Estou trabalhando com Access e tive de fazer uma associação entre duas tabelas: conteudo e categoria - sendo que as duas possuem um campo categ_id para que seja feita a associação. As duas sintex sql abaixo realizam a mesma coisa:

Com INNER JOIN --------------------------------------------------------

SELECT conteudo.*, categoria.*
FROM conteudo
INNER JOIN categoria ON categoria.categ_id = conteudo.categ_id

-----------------------------------------------------------------------------

Sem INNER JOIN --------------------------------------------------------

SELECT conteudo.*, categoria.*
FROM conteudo, categoria
WHERE conteudo.categ_id = categoria.categ_id

-----------------------------------------------------------------------------

Agora, se funciona da mesma forma e no caso de associação entre três ou mais tabelas é muito mais simples sem o INNER JOIN (no caso de trabalhar com o Access) então qual a finalidade de se usar o INNER JOIN?

[]'s
<?php $Nome = "Renato B. Pacheco";
	$Ocupacao = "Programador PHP";
	$Ocupacao .= "<br /> Programador ASP";
	$Ocupacao .= "<br /> Programador Action Script";
	$Localizacao =  "São Paulo - SP - Brasil" ?>
0

#2 Membro offline   Prog 

  • ...
  • Ícone
  • Grupo: Ex-Admins
  • Posts: 3.761
  • Cadastrado: 07/05/2004
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.
Pontos: 3
Neutral

Postou 21/06/2004, 11:26

Os comandos SQL seguem padrões, e o ACCESS segue o padrão SQL/92, porém, as versões mais recentes tentam sempre manter a compatibilidade com versões mais antigas, isso faz com que 2 comandos diferentes façam a mesma coisa.

Link relacionado (um pequeno histórico):
http://www.eistec.hp...r/sqldelphi.htm
------
Mero mortal!
0

#3 Membro offline   Foxn 

  • Alone in the dark
  • Ícone
  • Grupo: Usuários
  • Posts: 1.230
  • Cadastrado: 18/01/2003
  • Sexo:Masculino
Pontos: 0
Neutral

Postou 21/06/2004, 11:47

Valeu pela explicação, vou dar uma olhada no texto que você passou. Agora um cara me dizer que se usa só por que é padrão (que foi o que me disseram) é totalmente inaceitável.

Valeu.

Complemento:

Acho que vocês não entenderam o lance do padrão, olha só:

P: Porque usar INNER JOIN?
R: Por que é padrão.

------------------------------------------------

P: Porque usar INNER JOIN?
R: Os comandos SQL seguem padrões, e o ACCESS segue o padrão SQL/92, porém, as versões mais recentes tentam sempre manter a compatibilidade com versões mais antigas, isso faz com que 2 comandos diferentes façam a mesma coisa.

------------------------------------------------

Pequena diferença não é.


[]'s

Este post foi editado por Foxn: 21/06/2004, 12:34

<?php $Nome = "Renato B. Pacheco";
	$Ocupacao = "Programador PHP";
	$Ocupacao .= "<br /> Programador ASP";
	$Ocupacao .= "<br /> Programador Action Script";
	$Localizacao =  "São Paulo - SP - Brasil" ?>
0

#4 Membro offline   pchardnet 

  • ×-× 3D ×-×
  • Ícone
  • Grupo: Usuários
  • Posts: 1.068
  • Cadastrado: 18/08/2003
  • Sexo:Não informado
  • Localidade:Belo Horizonte-MG
Pontos: 0
Neutral

Postou 21/06/2004, 11:59

Foxn, em 21 Jun 2004, 11:47 , disse:

Valeu pela explicação, vou dar uma olhada no texto que você passou. Agora um cara me dizer que se usa só por que é padrão (que foi o que me disseram) é totalmente inaceitável.

Valeu.

[]'s

É bom trabalharmos com padrões e convenções sim. Se amanhã ou depois vc faltar qualquer outra pessoa poderá trabalhar no sistema/projeto pois o mesmo está definido de forma padronizada sendo fácil a sua interpretação.

Só uma opinião!
www.wvirtu.net - Hospedagem Sites - PHP + MySql + Fantástico - Joomla! pré-instalado

www.joomlaminas.org - Grupo de Usuários Joomla! de Minas Gerais
0

#5 Membro offline   Prog 

  • ...
  • Ícone
  • Grupo: Ex-Admins
  • Posts: 3.761
  • Cadastrado: 07/05/2004
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.
Pontos: 3
Neutral

Postou 21/06/2004, 11:59

O fato de ser "padrão" quer dizer que aquele mesmo SELECT, por exemplo, vai funcionar em qualquer sistema de banco de dados, seja Oracle, Sybase, MySQL, Access, Interbase, DB2, SQLServer, PostgreSQL, Progress...

Essa é a real vantagem de ser padrão. Mas quando esta programando, é muito complicado seguir padrões, sempre precisa-se de uma função para fazer isso ou uma para fazer aquilo, e, muitas vezes, aquela função só existe naquele banco de dados.

Porém, muitos também seguem vários padrões. Isso compatibiliza ainda mais os comandos, pelo menos, a sintaxe básica dos comandos mais simples costumam ser compativeis, com algumas particularidades aqui ou ali.

No que diz respeito a utilizar INNER JOIN ou não utilizar, isso vai depender exclusivamente do desenvolvedor... pode ser que em alguns casos a solução do problema se de apenas com a utilização de JOINS, mas isso é outra história.
:)

Ideologia:
A peça principal de qualquer projeto é sua documentação.
------
Mero mortal!
0

Página 1 de 1
  • Novo tópico
  • Responder

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)