<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>join &#8211; Turbosite &#8211; Blog</title>
	<atom:link href="https://www.turbosite.com.br/blog/tag/join/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.turbosite.com.br/blog</link>
	<description></description>
	<lastBuildDate>Thu, 27 Nov 2014 13:34:54 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://www.turbosite.com.br/blog/wp-content/uploads/2026/09/cropped-logo_turbo_vermelha-32x32.png</url>
	<title>join &#8211; Turbosite &#8211; Blog</title>
	<link>https://www.turbosite.com.br/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Mysql &#8211; NATURAL JOIN – Joins mais fáceis</title>
		<link>https://www.turbosite.com.br/blog/mysql-natural-join-joins-mais-faceis/</link>
		
		<dc:creator><![CDATA[turboajuda]]></dc:creator>
		<pubDate>Thu, 27 Nov 2014 13:34:54 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Destaque]]></category>
		<category><![CDATA[dica]]></category>
		<category><![CDATA[join]]></category>
		<category><![CDATA[natural join]]></category>
		<guid isPermaLink="false">http://blog.turbosite.com.br/?p=3834</guid>

					<description><![CDATA[Esta dica é para facilitar algumas consultas no banco de dados. O Mysql tem suporte ao NATURAL Join o que facilita muito as querys.]]></description>
										<content:encoded><![CDATA[<p>Esta dica é para facilitar algumas consultas no banco de dados. O Mysql tem suporte ao NATURAL Join o que facilita muito as querys.</p>
<p>Vamos supor que temos 2 tabelas relacionadas, clientes e telefones. O cliente tem a seguinte estrutura:</p>
<pre class="lang:mysql decode:true">CREATE TABLE `clients` (
  `idClients` int(11) NOT NULL AUTO_INCREMENT,
  `name` char(150) DEFAULT NULL,
  PRIMARY KEY (`idClients`)
)
insert  into `clients`(`name`) values ('Turbosite');</pre>
<p>&nbsp;</p>
<p>Note que no final inserimos um usuário para nosso teste.</p>
<p>A tabela de telefones ficaria desta forma:</p>
<pre class="lang:php decode:true">CREATE TABLE `phones` (
  `idPhones` int(11) NOT NULL AUTO_INCREMENT,
  `number` char(20) NOT NULL,
  `idClients` int(11) NOT NULL,
  PRIMARY KEY (`idPhones`,`idClients`),
  KEY `idClients` (`idClients`),
  CONSTRAINT `phones_ibfk_1` FOREIGN KEY (`idClients`) REFERENCES `clients` (`idClients`)
)
insert  into `phones`(`number`,`idClients`) values ('(31) 4003-2322',1);
insert  into `phones`(`number`,`idClients`) values ('(31) 3261-2168',1);</pre>
<p>&nbsp;</p>
<p>Sem utilizar o NATURAL Join, a consulta para pegar os telefones de um cliente seria da seguinte forma:</p>
<pre class="lang:php decode:true">SELECT C.`name`,P.`number` FROM clients C
INNER JOIN phones P
ON C.`idClients` = P.`idClients`
WHERE C.`idClients` = 1</pre>
<p>&nbsp;</p>
<p>Resultado seria:</p>
<table border="1">
<tbody>
<tr>
<td class="medium" bgcolor="silver">name</td>
<td class="medium" bgcolor="silver">number</td>
</tr>
<tr>
<td class="normal" valign="top">Turbosite</td>
<td class="normal" valign="top">(31) 4003-2322</td>
</tr>
<tr>
<td class="normal" valign="top">Turbosite</td>
<td class="normal" valign="top">(31) 3261-2168</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>Agora com o Natural JOIN, a consulta seria:</p>
<pre class="lang:mysql decode:true">SELECT * FROM clients
NATURAL JOIN phones
WHERE idClients = 1</pre>
<p>O resultado da pesquisa:</p>
<table border="1">
<tbody>
<tr>
<td class="medium" bgcolor="silver">idClients</td>
<td class="medium" bgcolor="silver">name</td>
<td class="medium" bgcolor="silver">idPhones</td>
<td class="medium" bgcolor="silver">number</td>
</tr>
<tr>
<td class="normal" valign="top">1</td>
<td class="normal" valign="top">Turbosite</td>
<td class="normal" valign="top">5</td>
<td class="normal" valign="top">(31) 4003-2322</td>
</tr>
<tr>
<td class="normal" valign="top">1</td>
<td class="normal" valign="top">Turbosite</td>
<td class="normal" valign="top">6</td>
<td class="normal" valign="top">(31) 3261-2168</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>O Natural JOIN é inteligente o suficiente para não acusar erro por ambiguidade de coluna, como uma faz referência a outra, ele não lista em duplicidade as colunas de referência.<br />
A consulta fica mais limpa, mais fácil de entender e de dar manutenção, caso esta tabela fizesse referência a uma 3ª tabela, era só adicionar uma linha ficando desta forma:</p>
<pre class="lang:php decode:true">SELECT * FROM clients
NATURAL JOIN phones
NATURAL JOIN tabela3
WHERE idClients = 1</pre>
<p>&nbsp;</p>
<p>Vamos deixar aqui um link com uma apresentação de JOINS do MYSQL. É interessante ver e aprender para tomar a melhor decisão no desenvolvimento de seus projetos.</p>
<p><a href="http://w3resource.com/gallery/mysql-joins-slides-presentation">http://w3resource.com/gallery/mysql-joins-slides-presentation</a></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
