Buscar

7.8 INNER JOIN Para que esta cláusula seja verdadeira, é necessário que as duas colunas que estão sendo comparadas possuam omesmo valor, ou seja, é...

7.8 INNER JOIN
Para que esta cláusula seja verdadeira, é necessário que as duas colunas que estão sendo comparadas possuam omesmo valor, ou seja, é preciso que tenha equivalência nas duas tabelas. Exemplo:
SQL> select ename, dname
2 from emp e, dept d
3 where e.deptno = d.deptno;

ENAME DNAME

---------- --------------
SMITH RESEARCH
ALLEN SALES
WARD SALES
JONES RESEARCH
MARTIN SALES
BLAKE SALES
CLARK ACCOUNTING
SCOTT RESEARCH
KING ACCOUNTING
TURNER SALES
ADAMS RESEARCH
JAMES SALES
FORD RESEARCH
MILLER ACCOUNTING

14 rows selected.

SQL>
Note que, neste exemplo, existe um relacionamento entre as tabelas EMP e DEPT, através da coluna DEPTNO. Este relacionamento é que faz as duas tabelas conversarem e retornarem as informações correspondentes. Se olharmos separadamente cada tabela, podemos observar que nem todos os departamentos apareceram no resultado do SELECT. Observe a tabela DEPT:
SQL> select * from dept order by deptno;

DEPTNO DNAME LOC
--------- -------------- -------------

10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL>
Agora olhe a tabela EMP:
SQL> select ename, deptno
from emp
order by 2;

ENAME DEPTNO
---------- ---------
CLARK 10
KING 10
MILLER 10
JONES 20
FORD 20
ADAMS 20
SMITH 20
SCOTT 20
WARD 30
TURNER 30
ALLEN 30
JAMES 30
BLAKE 30
MARTIN 30

14 rows selected.

SQL>
Se compararmos a coluna DEPTNO da tabela EMP com a da tabela DEPT vamos perceber que o departamento OPERATIONS (código 40) não aparece para nenhum empregado. Logo, não há uma relação entre este departamento com algum empregado cadastrado. Sendo assim, eles não aparecem no SELECT onde listamos empregados com seus respectivos departamentos.
Este é o tipo mais comum de relacionamento entre tabelas usados no Oracle:duas ou mais tabelas se relacionando para formar um único resultado em um comando SQL.


Essa pergunta também está no material:

SQL - Uma abordagem para bancos de dados Oracle - Casa do Codigo
356 pág.

Português Escola Colegio Estadual Barao Do Rio BrancoEscola Colegio Estadual Barao Do Rio Branco

💡 1 Resposta

User badge image

Ed Verified user icon

A cláusula INNER JOIN é utilizada para combinar linhas de duas ou mais tabelas com base em uma coluna comum entre elas. Para que a cláusula INNER JOIN seja verdadeira, é necessário que as duas colunas que estão sendo comparadas possuam o mesmo valor, ou seja, é preciso que tenha equivalência nas duas tabelas.

0
Dislike0

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais