Escreva o códigoPráticaSQL
Clientes nos estados do Premium
Filtrar com subconsulta usando IN.
Devolva as colunas nome, plano e estado, nessa ordem, dos clientes cujo estado aparece entre os estados de clientes do plano Premium. Use uma subconsulta com IN.
Revisa aula 12 (31/08)
Solução comentada
Verifique uma tentativa sua para liberar a solução.
SELECT nome, plano, estado FROM clientes WHERE estado IN (SELECT estado FROM clientes WHERE plano = 'Premium');A consulta de dentro devolve só a coluna estado dos clientes Premium. A consulta de fora usa IN para manter linhas cujo estado está nessa lista. Linhas com estado nulo ficam de fora porque NULL não é igual a nada.
Erro comum: Devolver duas colunas na subconsulta quebra o IN, que espera só a coluna estado.
Tabelas
clientes 12 linhas
| id | nome | plano | idade | estado | valor_mensal |
|---|---|---|---|---|---|
| 1 | Ana | Premium | 28 | SP | 99.9 |
| 2 | Bruno | Padrao | 25 | RJ | 59.9 |
| 3 | Carla | Basico | 22 | SP | 29.9 |
| 4 | Diego | Premium | 35 | MG | 99.9 |
| 5 | Elisa | Padrao | 31 | SP | 59.9 |
| 6 | Fabio | Basico | 27 | RJ | 29.9 |
| 7 | Gabi | Premium | 24 | RJ | 99.9 |
| 8 | Hugo | Padrao | 35 | MG | 59.9 |
| 9 | Iara | Basico | 30 | MG | 29.9 |
| 10 | Jonas | Premium | 32 | SP | 99.9 |
| 11 | Kaio | Padrao | 19 | SP | 59.9 |
| 12 | Lara | Basico | 26 | NULL | 29.9 |
Sua consulta
Escreva sua solução e verifique quando quiser.