Muitas vezes temos que construir queries que possuem aqueles relacionamentos padrões e básicos que são fáceis, mas acaba sendo trabalhoso. Existe uma opção nas queries do
Oracle que faz esse trabalho pra você, é o
NATURAL JOIN, basta que as tabelas em questão tenham a coluna relacional com o mesmo nome, fácil né?
No caso de duas tabelas como as abaixo:
create table cliente (
id_cliente number(3) primary key,
nome varchar2(50) not null
);
create table pedido (
id_pedido number(6) primary key,
id_cliente number(3) not null,
produto varchar2(50) not null,
qtd number(3) not null,
FOREIGN KEY (id_cliente) REFERENCES cliente(id_cliente)
);
É só fazer o natural join para recuperar os dados das duas tabelas da forma abaixo:
select * from cliente
natural join pedido;
O que normalmente fariamos? Para vocês entenderem mais fácil, nada melhor que um exemplo, isso substituiria as seguintes queries:
select * from pessoa p, pedido d
where d.id_pessoa = p.id_pessoa;
Espero ter ajudado, caso tenham alguma dúvida, por favor, comentem.
[/code]