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?