? Oracle é um sistema de gerenciamento de banco de dados relacional comercial. Tal como acontece com outros RDBMS de grande escala , ele usa a Structured Query Language para a manutenção de banco de dados , administração e programação. A linguagem SQL permite criar consultas de dados sofisticados para relatar , adicionar e alterar informações no banco de dados. Estas consultas podem incluir sub -consultas correlacionados , em que os dados a partir da sub - consulta depende da consulta principal . Consultas SQL
Uma consulta SQL é uma declaração que examina os dados no banco de dados e usa -lo para produzir um relatório ou atualizar o banco de dados. Uma das consultas mais simples é uma lista de registros em uma tabela do banco de dados . Parece que a seguinte instrução SQL :
SELECT * FROM clientes ;
Esta consulta produz uma lista não ordenada de todas as informações na tabela " clientes " , registro por registro . Usando o poderoso cláusula WHERE, você pode criar consultas seletivas que avaliam os dados e lista apenas os registos que correspondem aos critérios da cláusula :
SELECT * FROM Clientes WHERE = estaduais CA ' ;
consulta lista apenas os clientes da Califórnia. A cláusula WHERE acomoda condições muito complexas, incluindo os resultados de sub-consultas correlatas , para selecionar apenas os dados que deseja .
Sub- Queries
A sub- consulta é uma consulta em que a própria cláusula WHERE tem a sua própria consulta. Esta é uma maneira conveniente de combinar informações de diferentes tabelas de banco de dados para produzir resultados mais sofisticados. A consulta a seguir produz uma lista de apenas os clientes que fizeram pedidos em 2011 :
SELECT * FROM Clientes WHERE código do cliente IN (SELECT código do cliente a partir de ordens ONDE order_date ENTRE '1 /1/2011 ' AND '12 /31 /2011 ');
Observe que esta é uma consulta dentro de uma consulta. A instrução SELECT dentro dos parênteses gera uma lista de códigos de cliente da mesa " ordens " . A consulta externa utiliza os códigos dos clientes para produzir uma lista de nomes de clientes , endereços e outras informações. Esta é uma sub- consulta , mas não uma sub- consulta coordenada , embora a consulta externa depende do interior um, uma sub- consulta coordenada também tem uma consulta interna que depende o exterior
.
correlacionada sub- Queries
em uma sub- consulta correlacionada, cada consulta depende do outro . A seguinte instrução SQL do Oracle produz uma lista de códigos de clientes, nomes, e os totais de compra para os clientes cujos valores de compra cair abaixo da média para todos os clientes em um estado . Você então tem duas consultas mutuamente dependentes, um que lista os clientes, mas precisa do valor de vendas média contra a qual comparar , e outro que calcula a média, mas precisa do Estado . Observe o uso da tabela aliases " c1 " e " c2 ". O pseudônimo de " c1 " refere-se a tabela de clientes na consulta externa , e " c2 " é a tabela de clientes na consulta interna .
SELECIONE código do cliente , nome, total_purchases , estado de clientes c1 ONDE compras total_ < (SELECT AVG ( total_ compras) de clientes c2 ONDE c1.state = c2.state );
Use
< br >
correlacionadas sub-consultas apresentar um método útil para a seleção de informações a partir de tabelas onde requerem sub-consultas condicionais usando a cláusula WHERE, eo critério para a consulta interna vem do exterior . Tal como acontece com o exemplo sub- consulta, o método funciona bem quando a consulta interna gera um valor agregado , tais como média , total, mínimo ou máximo , contra o qual sua consulta externa compara . Você pode usar correlação em joins de tabelas , bem como mesas individuais.