1546027450-1546027450-sql
Ensina estrutura básica de SQL
Ensina estrutura básica de SQL
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
136 - Capítulo 7 – SUBQUERIES (SUBCONSULTAS)
Entenda as duas etapas da consulta:
1. SELECT CODIGO_CLIENTE FROM PEDIDO WHERE NR_PEDIDO = 3;
A resposta é 1004 e este resultado é utilizado na segunda etapa:
2. SELECT NOME_CLIENTE FROM CLIENTE WHERE CODIGO_CLIENTE
= 1004;
A seguir o resultado:
---------------
DANIELA DAMASIO
Você observou que na primeira etapa a consulta retornou apenas
uma linha? É daí que vem a denominação subconsulta de uma linha.
Utilizamos o operador '=' no exemplo apresentado. Porém outros
operadores poderiam ter sido utilizados <, <=, >, >= e <>. No entanto,
em qualquer caso, a primeira etapa deveria retornar 0 (zero) ou 1 (uma)
linha. Quando houver a possibilidade de retornar mais de uma linha,
devemos utilizar as subconsultas de várias linhas, conforme veremos
a seguir.
7.2 Subconsultas de várias linhas
As subconsultas de várias linhas podem retornar mais de uma linha na
instrução SQL externa. Utilizamos frequentemente os operadores IN,
ANY ou ALL para verificar se o valor de uma coluna está contido em
uma lista de valores.
O exemplo a seguir toma como base as mesmas tabelas (CLIENTE e
PEDIDO) utilizadas no item anterior (CONSULTAS DE UMA LINHA).
Utilizaremos uma subconsulta de várias linhas para apresentar os nomes
dos clientes (NOME_CLIENTE) que fizeram pedidos cujos números de
pedidos (NR_PEDIDO) estão contidos na lista que apresenta os valores
1, 2 e 4.