Uma Analista de Sistemas foi solicitada a fazer uma consulta SQL que resulte na lista de Deputados que possuem cargo na mesa diretora, em ordem alfabética dos nomes dos partidos e, dentro de cada partido, ordenados por nomes. A instrução SQL que realiza esta consulta é:
ASELECT Partido, NomeDepDistr FROM TabCamara WHERE CargoMesaDiretora IS NOT NULL ORDER BY ASC;
BSELECT *.* FROM TabCamara WHERE CargoMesaDiretora IS NOT ‘NULL’ ORDER BY Partido, NomeDepDistr ASC;
CSELECT * FROM TabCamara WHERE CargoMesaDiretora IS NOT EMPTY ORDER BY Partido AND NomeDepDistr ASC;
DSELECT Partido AND NomeDepDistr FROM TabCamara WHERE CargoMesaDiretora IS NULL ORDER BY Partido, NomeDepDistr ASC;
ESELECT * FROM TabCamara WHERE CargoMesaDiretora IS NOT NULL ORDER BY Partido, NomeDepDistr ASC;
Revelar gabarito e comentário▾
GabaritoE — SELECT * FROM TabCamara WHERE CargoMesaDiretora IS NOT NULL ORDER BY Partido, NomeDepDistr ASC;
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
SQL: consulta com filtro de NULL e ordenação
Gabarito: letra E. A única alternativa que utiliza corretamente IS NOT NULL para selecionar deputados com cargo na mesa diretora, e ORDER BY Partido, NomeDepDistr ASC para ordenar alfabeticamente por partido e, dentro de cada partido, por nome, é a letra E.
A questão testa o conhecimento básico de SQL: como filtrar valores nulos (NULL) e como ordenar resultados com múltiplos critérios.
Alternativa A — ❌ Incorreta
A cláusula ORDER BY ASC está incompleta: falta especificar as colunas. Deveria ser ORDER BY Partido, NomeDepDistr ASC.
Alternativa B — ❌ Incorreta
O uso de *.* é inválido; o correto é * (selecionar todas as colunas).
A condição IS NOT ‘NULL’ compara com a string literal 'NULL', e não com o valor nulo. A sintaxe correta é IS NOT NULL (sem aspas).
Alternativa C — ❌ Incorreta
IS NOT EMPTY não é um operador padrão SQL; o correto é IS NOT NULL.
No ORDER BY, as colunas devem ser separadas por vírgula, não por AND. O correto é ORDER BY Partido, NomeDepDistr ASC.
Alternativa D — ❌ Incorreta
SELECT Partido AND NomeDepDistr é inválido: a cláusula SELECT separa colunas por vírgula, não por AND.
A condição IS NULL seleciona justamente os deputados sem cargo na mesa diretora, o oposto do que foi solicitado.
Alternativa E — ✅ Correta ⟵ GABARITO
SELECT * FROM TabCamara – seleciona todas as colunas.
WHERE CargoMesaDiretora IS NOT NULL – filtra apenas os registros em que o cargo não é nulo (deputados que possuem cargo).
ORDER BY Partido, NomeDepDistr ASC – ordena por partido (ordem alfabética) e, dentro de cada partido, por nome (ordem alfabética). ASC é opcional, pois é o padrão, mas está explícito.
PEGA ESSA DICA!
Na prova, lembre-se sempre: NULL não é uma string; o operador correto é IS NULL ou IS NOT NULL. No ORDER BY, separe as colunas por vírgula — o uso de AND é um erro comum.