ORACLE – NATURAL JOIN

Cansado de ficar fazendo comparações repetitivas nos JOINS?

Seus probRemas acabaram-se!

NATURAL JOIN:

Natural join é um join que leva em consideração o nome das colunas das tabelas. Vamos considerar que sua
base de dados foi bem desenhada e criada seguindo todos os níveis de normalização. Se isso foi feito então as colunas FKs
terão o mesmo nome das PKs das tabelas relacionadas, não entendeu? EX:

CREATE TABLE PESSOA(
	PES_ID NUMBER(5) PRIMARY KEY,
	PES_NOME VARCHAR(512)
);
CREATE TABLE DOCUMENTO(
	DOC_ID NUMBER(5) PRIMARY KEY,
	DOC_NUMERO VARCHAR(512),
	PES_ID NUMBER(5),
	FOREIGN KEY (PES_ID) REFERENCES PESSOA(PES_ID)
);

Observe que ambas as tabelas possuem a coluna PES_ID! Logo temos a condição para usar o NATURAL JOIN.

SELECT * FROM PESSOA
NATURAL JOIN DOCUMENTO

também poderia ser feito da seguinte maneira:

SELECT * FROM PESSOA pes
JOIN DOCUMENTO doc ON ( pes.PES_ID = doc.PES_ID )

ou mesmo :

SELECT * FROM PESSOA pes
JOIN DOCUMENTO USING (PES_ID)

🙂

Vai dizer que não quebra um galhão?

Deixe uma resposta