A linguagem SQL pode ser dividida em DDL (Data Definition Language) e DML (Data Manipulation Language), e alguns autores também usam DQL (Data Query Language) como uma categoria especial da DML. Dentro da DML estão todos os comandos iniciados com a cláusula SELECT. Assinale a alternativa que apresenta comandos válidos em uma consulta (comandos DML).
- A)UPDATE, ORDER BY e DELETE
Errada, porque UPDATE e DELETE sao comandos DML, mas ORDER BY nao e comando, e sim clausula de ordenacao dentro de uma consulta SELECT.
- B)UNION, WHERE e CONSTRAINT_X
Errada, porque UNION e WHERE podem aparecer em consultas, mas CONSTRAINT_X nao e um comando SQL valido.
- C)CREATE DATABASE e DROP DATABASE
Errada, porque CREATE DATABASE e DROP DATABASE sao comandos de DDL, usados para definir ou remover estruturas do banco.
- D)UNION e CREATE TABLE
Errada, porque UNION e valido em consultas, mas CREATE TABLE e comando de DDL, nao de DML.
- E)GROUP BY, HAVING e ORDER BY
Certa, porque GROUP BY, HAVING e ORDER BY sao clausulas usadas em consultas SELECT para agrupar, filtrar grupos e ordenar resultados.
Gabarito: E
Em SQL, a DML costuma abranger os comandos que mexem nos dados, como INSERT, UPDATE, DELETE e, em muitas classificacoes didaticas, o SELECT como DQL. Quando voce faz uma consulta com SELECT, aparecem clausulas que ajudam a filtrar, agrupar e ordenar os resultados, como WHERE, GROUP BY, HAVING, ORDER BY e ate UNION para unir resultados de consultas compatíveis. O ponto da questao e separar o que e comando de manipulacao/consulta do que e comando de definicao de estrutura. CREATE e DROP, por exemplo, pertencem a DDL, porque tratam da criacao e exclusao de objetos do banco, nao da consulta aos dados. Por isso, o gabarito e a letra E. GROUP BY agrupa linhas, HAVING filtra grupos e ORDER BY organiza a saida da consulta. Sao clausulas tipicas de uma consulta SQL, encaixadas dentro do universo da DML/DQL conforme a classificacao usada em provas e em boa parte da doutrina. Resumo de prova: se a alternativa traz elementos de montagem de consulta SELECT, desconfie menos. Se traz criacao ou alteracao de estrutura do banco, isso ja cheira a DDL e costuma cair fora.