0% acharam este documento útil (0 voto)
15 visualizações22 páginas

MySQL - Subqueries

O documento aborda subqueries em SQL, explicando que são consultas dentro de outras consultas, podendo retornar diferentes formatos de dados. As subqueries podem ser não correlatas ou correlatas, e o uso do comando EXISTS é destacado para identificar relacionamentos sem contar linhas. Além disso, o documento menciona operadores para subqueries de múltiplas linhas e a importância de evitar valores nulos nas comparações.

Enviado por

laylson junior
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
15 visualizações22 páginas

MySQL - Subqueries

O documento aborda subqueries em SQL, explicando que são consultas dentro de outras consultas, podendo retornar diferentes formatos de dados. As subqueries podem ser não correlatas ou correlatas, e o uso do comando EXISTS é destacado para identificar relacionamentos sem contar linhas. Além disso, o documento menciona operadores para subqueries de múltiplas linhas e a importância de evitar valores nulos nas comparações.

Enviado por

laylson junior
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Banco de Dados

Rebeca Barros
Subqueries
MySQL
Subqueries
▪ Uma subquery (ou subconsulta) é uma consulta
dentro de outra consulta SQL.
▪ Uma subquery sempre está dentro de
parênteses e usualmente é executada antes da
consulta onde ela está contida.

3
Subqueries
▪ Como qualquer outra consulta SQL, uma
subquery pode retornar:
▫ Uma única linha com única coluna;
▫ Múltiplas linhas com uma única coluna;
▫ Múltiplas linhas e múltiplas colunas.

4
Subqueries
▪ Além disso, subqueries também podem ser
divididas em:
▫ Não correlatas - quando não dependem de
colunas da consulta base;
▫ Correlatas - quando referenciam colunas da
consulta base

5
Subquery de uma única linha/coluna

6
Subquery de uma única linha/coluna

7
Subquery de uma única linha/coluna
/* consulte o id da gravadora e o menor preço de cd de todas as
gravadoras em que o menor preço de cd seja maior que o preço
do cd de id 6 */

8
Subquery de uma única linha/coluna
/* consultar o id da gravadora e o preço máximo de cd onde esse
preço máximo seja maior que a média de preço da gravadora*/

9
O comando EXISTS
▪ Usado quando você precisa identificar que um
relacionamento existe sem precisar saber a
quantidade de linhas.
▪ Se a subquery conter uma ou mais linhas, o
resultado é mostrado, se não, não é mostrado.

10
O comando EXISTS

11
Subquery de múltiplas linhas
▪ Em subqueries que retornam mais de uma linha
não é possível utilizar operadores simples (=,
<>, > e <).
▪ Deve-se utilizar um operador de grupo que
permita realizar a comparação com um conjunto
e não com um único valor.

12
Subquery de múltiplas linhas
▪ Os operadores são:
▫ IN (e NOT IN): checa se o valor está dentro de um
conjunto de valores
▫ ANY/ALL: permite comparações entre um valor
único com cada valor dentro do conjunto. A
diferença é que o ANY retorna true assim que
encontrar uma comparação verdadeira, enquanto
que o ALL só retorna se a comparação for
13 verdadeira para todos os membros do conjunto.
Subquery de múltiplas linhas

14
Subquery de múltiplas linhas
/* consultar qual cd tem preço inferior a qualquer outro da gravadora 2
mas que não seja da gravadora 2 */

15
Subquery de múltiplas linhas
/* consultar quais cds tem preço de venda menor que a média
de preço de todas as gravadoras */

16
Subquery de múltiplas linhas
Importante:
▪ Ao utilizar not in ou <> all para comparar um
valor a um conjunto, é importante garantir que o
conjunto de valores não contenha um valor null
pois qualquer comparação com null retorna um
valor desconhecido.

17
Subquery de múltiplas linhas/colunas

18
Subquery como fontes de dados
/* consultar nome do cd, preço de venda e preço médio da gravadora
quando o preço do cd for maior que a média da sua gravadora */

19
Subquery na manipulação dados

20
Subquery na manipulação dados

21
Referências
▪ Beaulieu, A. (2009). Learning SQL: Master SQL Fundamentals. "
O'Reilly Media, Inc.".
▪ de OLIVEIRA, C. H. P. (2002). SQL: curso prático. Novatec.
▪ Documentação oficial do MySQL. Disponível em:
[Link]
▪ Curso Completo de MySQL (Bóson Treinamentos). Disponível
em: [Link]
22
completo-de-mysql/

Você também pode gostar