UNIQUE en SQL

La restricción UNIQUE impide valores duplicados en una columna o combinación de columnas. Es ideal para correos, códigos y otros identificadores alternativos.

UNIQUE en SQL es una pieza habitual del flujo SQL: consultar, filtrar, agrupar o modificar datos. Cada ejemplo usa tablas de demostración para que puedas experimentar sin riesgo.

Cómo practicar: ejecuta la consulta tal cual, revisa columnas y tipos, luego cambia un filtro o un alias y vuelve a ejecutar.

Esta lección sobre UNIQUE en SQL forma parte del tutorial SQL de The Data Schools. Cada ejemplo está pensado para ejecutarse en el editor con las tablas de demostración Clientes, Productos o Pedidos.

Lee la sintaxis, ejecuta el ejemplo tal cual y después modifica columnas, filtros o valores para comprobar que entiendes el comportamiento de la sentencia.

Consejo: escribe consultas pequeñas y verifica el resultado antes de combinar varias cláusulas. Así localizas errores de sintaxis más rápido.

Errores frecuentes: olvidar la indentación en bloques if, for o def; confundir = con ==; no importar un módulo antes de usarlo.


Sintaxis UNIQUE

La sintaxis indica el orden de argumentos y palabras clave. Copia la plantilla y sustituye nombres de columnas o literales entre comillas simples.

Plantilla

    CREATE TABLE tabla (
    ID INTEGER PRIMARY KEY,
    valor TEXT UNIQUE NOT NULL
);
  

Ejemplo UNIQUE en Email

Observa qué columnas devuelve la consulta y cómo se nombran con AS. Ese alias es lo que verás en la cuadrícula del editor.

Usuarios con correo único

    CREATE TABLE Usuarios_Unique (ID INTEGER PRIMARY KEY, Email TEXT UNIQUE NOT NULL, Nombre TEXT NOT NULL);
INSERT INTO Usuarios_Unique VALUES (1, 'ana@ejemplo.com', 'Ana'), (2, 'luis@ejemplo.com', 'Luis');
SELECT Email, Nombre FROM Usuarios_Unique ORDER BY Nombre;
  
Abrir en editor
EmailNombre
ana@ejemplo.comAna
luis@ejemplo.comLuis

Ejemplo UNIQUE en códigos

Observa qué columnas devuelve la consulta y cómo se nombran con AS. Ese alias es lo que verás en la cuadrícula del editor.

Códigos de país sin duplicados

    CREATE TABLE Codigos_Pais (ID INTEGER PRIMARY KEY, Codigo TEXT UNIQUE NOT NULL, Nombre TEXT NOT NULL);
INSERT INTO Codigos_Pais VALUES (1, 'ES', 'España'), (2, 'FR', 'Francia'), (3, 'IT', 'Italia');
SELECT Codigo, Nombre FROM Codigos_Pais ORDER BY Codigo;
  
Abrir en editor
CodigoNombre
ESEspaña
FRFrancia
ITItalia

Ejemplo UNIQUE con NULL permitido

Observa qué columnas devuelve la consulta y cómo se nombran con AS. Ese alias es lo que verás en la cuadrícula del editor.

Teléfonos únicos

    CREATE TABLE Telefonos (ID INTEGER PRIMARY KEY, Numero TEXT UNIQUE, Contacto TEXT);
INSERT INTO Telefonos VALUES (1, '600111222', 'Ana'), (2, '600333444', 'Luis');
SELECT Numero, Contacto FROM Telefonos;
  
Abrir en editor
NumeroContacto
600111222Ana
600333444Luis

Resumen UNIQUE

  • Evita duplicados sin convertir la columna en clave primaria.
  • Puede combinarse con NOT NULL.
  • Una tabla puede tener varias restricciones UNIQUE.

Cómo practicar en el editor

1. Pulsa Pruébalo tú mismo en un ejemplo.
2. Cambia un filtro, columna o literal.
3. Ejecuta y compara el resultado con la tabla de ejemplo.

Comprueba lo aprendido

Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.