Agora vou falar sobre o Outer Join, que não é muito diferente do Inner, aliás, digo que ele o complementa. Como vimos, o Inner faz o cruzamento dos dados de várias tabelas, mas ele só exibe resultados que possuam valor correspondente em todas elas.

Essa á uma daquelas situações mais fáceis de demonstrar do que explicar. Vamos imaginar que nossa pequena loja que revende carros tenha recebido alguns modelos, portanto já os tenha cadastrado na tabela "carro", mas ainda não tenha tido tempo de calcular seu preço de venda, portanto eles não possuem cadastro na tabela "preco".

Foram recebidos os carros cujos dados foram inseridos na tabela "carro" da seguinte forma:

INSERT INTO carro VALUES ("Grand Cherokee SRT8 6.1 V8 16V 432cv", "Branca", 4, "Gasolina", "Jeep");

INSERT INTO carro VALUES ("ASX 2.0 16V 4x4 160cv Aut.", "Branca", 4, "Gasolina", "Mitsubishi");

Muito bem, os dois novos carros adicionados possuem a "Gasolina" cadastrada como combustível. Vamos agora tentar repetir o comando que executamos no tópico anterior, para vermos todos os preços dos carros com esse tipo de combustível:

SELECT carro.modelo AS Modelo, carro.combustivel AS ‘Combustível’, preco.valor AS ‘Preço’ FROM carro, preco WHERE carro.modelo = preco.modelo AND carro.combustivel like ‘Gasolina’;

Outer Join MySQL

Vejam que o retorno não incluiu os novos carros cadastrados no sistema, pois eles estão presentes somente na tabela "carro" e não na tabela "preco".

O OUTER JOIN serve para forçar a exibição de todos os itens cadastrados, mesmo que não exista a correspondência em todas as tabelas.

Existem dois tipos de OUTER JOIN, que são o LEFT JOIN e o RIGHT JOIN. Vou demonstrar suas diferenças. Vamos começar com um exemplo que utiliza o LEFT JOIN.

SELECT carro.modelo AS Modelo, carro.combustivel AS 'Combustível', preco.valor AS 'Preço' FROM carro LEFT JOIN preco ON carro.modelo = preco.modelo;

Vejam o retorno:

Outer Join MySQL

Mesmo com dados não cadastrados na tabela "preco", os dados são exibidos e os carros ASX e Grand Cherokee aparecem na relação.

Ou seja, conforme citei no início do tópico, o OUTER JOIN permite exibir dados mesmo que não existam correspondentes em todas as tabelas. Agora vamos entender as diferenças entre o LEFT JOIN e o RIGHT JOIN.

No comando acima usamos o LEFT JOIN e os dados exibidos estavam de acordo com o que queríamos, que era exibir todos os carros cadastrados, mesmo que não tivessem preço correspondente.

Vamos executar o mesmo comando, mas trocando o LEFT pelo RIGHT.

SELECT carro.modelo AS Modelo, carro.combustivel AS 'Combustível', preco.valor AS 'Preço' FROM carro RIGHT JOIN preco ON carro.modelo = preco.modelo;

Outer Join MySQL

Vejam que agora os dados nulos foram omitidos, deixando nosso resultado semelhante a um INNER JOIN.

O comando LEFT JOIN estava dizendo ao SGBD o seguinte:

Exiba todos os resultados da tabela da esquerda e os que possuírem correspondentes à direita.

Outer Join MySQL

Já o comando RIGHT JOIN estava dizendo para exibir todos os resultados da tabela da direita e os que possuírem correspondentes na tabela da esquerda. Como na tabela da direita, que era a tabela "preco", tínhamos apenas os 6 carros cadastrados com preço, os veículos ASX e Grand Cherokee foram omitidos. Você pode testar utilizando o RIGHT JOIN e invertendo as tabelas "preco" e "carro", fazendo com que a tabela "carro" passe a ficar do lado direito. Isso exibiria todos os resultados, inclusive dos carros não cadastrados na tabela preco. Vamos testar!

SELECT carro.modelo AS Modelo, carro.combustivel AS 'Combustível', preco.valor AS 'Preço' FROM preco RIGHT JOIN carro ON carro.modelo = preco.modelo;

Vejamos o retorno dessa consulta:

Outer Join MySQL

Vejam que novamente os resultados foram exibidos incluindo os carros que não possuem preco cadastrado. Joins são simples!

Com isso encerramos a parte do OUTER JOIN.


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

A IBM detém o recorde de patentes em um único ano, atingindo a marca de 4186 registros no ano de 2008. Clique aqui e saiba mais sobre esta gigante do mundo da tecnologia.


O personagem Mario só possui bigode porque quando ele foi criado, em 1981, a resolução de tela dos equipamentos disponíveis não permitia que fosse desenhada uma boca, então os desenvolvedores fizeram o grande bigode para contornar essa limitação tecnológica.


Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".


O filme Mortal Kombat, inspirado no jogo de mesmo nome, faturou 23 milhões de dólares apenas no fim de semana de estreia nos EUA. Ainda sobre este título de sucesso, outra cifra que impressiona é o faturamento ao longo do primeiro ano: 1 bilhão de dólares no mundo todo.


A empresa Universal City Studios, detentora dos direitos autorais do King Kong, processou a Nintendo logo após o lançamento de Donkey Kong, pois segundo ela, o game violava os seus direitos. Ela venceu o processo e recebeu da Nintendo uma indenização de quase 2 milhões de dólares.


Instalar vários aplicativos com o mesmo propósito, como editores de texto, reprodutores de músicas ou vídeos e até programas antívirus sobrecarregam o seu sistema operacional e ainda ocupam espaço desnecessário em seu HD. Tenha apenas um bom programa para cada função.


O título Space Invaders, lançado em 1980, fez tanto sucesso em todo o mundo que as pessoas compravam o console Atari apenas para poderem jogá-lo em casa. Saiba mais sobre este incrível título clicando aqui.