Pregunta 62

Técnico Auxiliar Informática del Estado - 2018 - TAI - Técnicos Auxiliares de Informática (Promoción Interna)

Al dar de alta la tabla ARTÍCULO se ha olvidado crear la clave primaria y hay artículos duplicados con el mismo identificador, cuál de las siguientes sentencias SQL nos permitiría encontrarlos:

  • A.SELECT id,Articulo, count(*) FROM Articulo GROUP BY id,Articulo HAVING count(*)>1;Respuesta correcta
  • B.SELECT id,Articulo FROM Articulo GROUP BY id,Articulo HAVING DISTINCT (id,Articulo);
  • C.SELECT DISTINCT(id,Articulo) FROM Articulo WHERE id,Articulo>1;
  • D.SELECT A1.id, A1.count(articulo) FROM Articulo A1, Articulo A2 WHERE A1.(Articulo=A2.Articulo AND count(Articulo)>1);

Explicación

La respuesta correcta es A. Para encontrar registros duplicados en una tabla sin clave primaria, se agrupa por los identificadores con GROUP BY y se filtra mediante HAVING count(*) > 1 para obtener solo los grupos con más de una ocurrencia. Esta es la técnica estándar en SQL.