Logo Hardware.com.br
Responder
tpcvasco
tpcvasco General de Pijama Registrado
2.9K Mensagens 330 Curtidas
#2 Por tpcvasco
03/10/2007 - 11:38
Basicamente:
-INNER: mostra apenas os registros q "casam" e aparecem nas duas tabelas.
-LEFT: mostra todos os registros q "casam" da 1a. tabela, mesmo q não estejam na 2a.
-RIGHT: mostra todos os registros q "casam" da 2a. tabela, mesmo q não estejam na 1a.
-FULL: mostra todos os registros q "casam", mesmo estando ele na 1a. e não na 2a., ou estando na 2a. e não na 1a.

http://www.quackit.com/sql/tutorial/sql_join.cfm
Vai clicando "Next Lesson" no final do texto q ele vai dando exemplos de cada um.

Acho q esses links com exemplos tb podem te ajudar a entender:
http://www.w3schools.com/sql/sql_join.asp
http://www.answerbag.com/q_view/19865

PS: Alguém sabe uma tradução melhor q "casam" para a palavra "match"? :-)
"Milhouse: - Médicos e bombeiros são heróis.
Bart Simpson: - Olha, as casas continuam pegando fogo e as pessoas continuam doentes. Os verdadeiros heróis são os Schwarzenegger's, os Stallone's, e, em menores proporções, os Vandame's..."
icefusion
icefusion Tô em todas Registrado
2.2K Mensagens 41 Curtidas
#4 Por icefusion
03/10/2007 - 13:57
Seguinte:

considere as tabelas

tabela 1
tb1campo 1 -> chave primária
tb1campo 2

tabela 2
tb1campo 1 -> chave estrangeira
tb2campo 1 -> chave primrária
tb2campo 2

exemplo

tabela 1
tb1campo 1 tb1campo 2
1 joão
2 josé

tabela 2

tb1campo 1 tb2campo 1 tb2campo 2
1 1 São Paulo
2 Rio de Janeiro

[CODE=rich]
SELECT tb1campo 1, tb1campo 2, tb2campo 1 tb2campo 2 FROM TABELA1

INNER JOIN TABELA2 ON TABELA1.TB1CAMPO 1 = TABELA2.TB2CAMPO 2

[/CODE]


acontece o seguinte neste caso! O select vai retornar todos os registros que o valor consta tanto na tabela1 como na tabela 2...

por exemplo se fosse fazer isso nessa tabela acima retornaria apenas
1 registro q seria...o outro registro não apareceria pq o seu valor de seus campos não está constando nas duas tabelas..

1 joão 1 São Paulo

[CODE=rich]
SELECT tb1campo 1, tb1campo 2, tb2campo 1 tb2campo 2 FROM TABELA1

LEFT JOIN TABELA2 ON TABELA1.TB1CAMPO 1 = TABELA2.TB2CAMPO 2

[/CODE]

neste segundo caso mostra todos os registros da primeira tabela mesmo q os mesmos não tenham valor registrado na segunda tabela...
então retornaria!!

1 joão 1 São Paulo
2 josé

[CODE=rich]
SELECT tb1campo 1, tb1campo 2, tb2campo 1 tb2campo 2 FROM TABELA1
RIGHT JOIN TABELA2 ON TABELA1.TB1CAMPO 1 = TABELA2.TB2CAMPO 2

[/CODE]

neste segundo caso mostra todos os registros da segunda tabela mesmo q os mesmos não tenham valor registrado na primeira tabela...
então retornaria!!

1 joão 1 São Paulo
2 Rio de Janeiro
arkRed">Desenvolvedor Web - PHP
Site Pessoal
Twitter
Facebook
Linkedin
Responder Tópico
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal