Pelo que percebi, o CESPE gosta de misturar os conceitos de DDL e DCL.
DDL é um subconjunto dos comandos SQL que podem ser utilizados para definir ou descrever um esquema de um banco de dados, sendo utilizados frequentemente para criar ou modificar a estrutura de objetos de uma base de dados
DCL: conjunto de comandos que podem ser utilizados para lidar com autorizações de dados e licenças de usuários
Fonte: outros comentários dos amigos concurseiros.
ERRADO
Esses conceitos são difíceis de entender. Também errei a questão.
Peguei esse resumo de uma colega do QC, me ajudou um pouco.
A linguagem SQL é dividida em subconjuntos de acordo com as operações que se deseja efetuar sobre um banco de dados. Os principais subconjuntos são:
DDL - Data Definition Language (Linguagem de Definição de Dados)
Principais comandos: CREATE, ALTER e DROP
DML - Data Manipulation Language (Linguagem de Manipulação de Dados)
Principais comandos: SELECT, INSERT, UPDATE, DELETE, TRUNCATE e outros.
DCL - Data Control Language (Linguagem de Controle de Dados)
Principais comandos: GRANT, REVOKE e SET.
O conjunto de comandos da linguagem DDL é usado para a definição das estruturas de dados, fornecendo as instruções que permitem a criação, modificação e remoção de objetos de banco de dados (base de dados, esquemas, tabelas, índices etc.).
DDL : modificar a estrutura.
DCL: (definir parâmetros )