CORE Code School

SQL básico: LIMIT, DISTINCT, CASE

10 minutos

Existen muchas cláusulas que nos permiten manipular y filtrar los datos de las tablas de una manera más específica. Hoy vamos a aprender a usar las cláusulas LIMIT, DISTINCT y CASE, y cómo se pueden utilizar para obtener resultados más precisos en nuestras consultas.

Usaremos una tabla de empleados que contiene información. La tabla tiene por nombre empleados.

idnombredepartamentosalario
1JohnVentas50000
2LisaFinanzas60000
3MarkIT55000
4SarahVentas48000
5DavidIT52000
6EmmaFinanzas65000
7AlexIT50000
8LauraVentas47000

Cada fila representa a un empleado con su identificación (id), nombre, departamento y salario.

⏱️ LIMIT

La cláusula LIMIT se usa para limitar el número de filas que se recuperan en una consulta. Es muy útil cuando deseamos ver solo un subconjunto específico de los resultados.

sql
SELECT <columna1>, <columna2>, ..., <columnaN>
FROM <tabla>
LIMIT <num>;

num es el número máximo de filas que deseas obtener. Veamos un ejemplo con la tabla del inicio:

sql
SELECT *
FROM empleados
LIMIT 3;

Vamos a seleccionar todas las columnas de la tabla empleados pero muestra solo las primeras 3 filas:

idnombredepartamentosalario
1JohnVentas50000
2LisaFinanzas60000
3MarkIT55000

🔄 DISTINCT

La cláusula DISTINCT se usa para seleccionar valores únicos de una columna en una consulta. Es muy provechoso cuando deseamos eliminar duplicados y obtener una lista distinta de valores en una columna específica.

sql
SELECT DISTINCT <columna>
FROM <tabla>;

Vamos a probarlo con nuestra tabla de empleados:

sql
SELECT DISTINCT departamento
FROM empleados;

Aquí seleccionamos los valores únicos de la columna departamento en la tabla empleados:

departamento
Ventas
Finanzas
IT

📊 CASE

La cláusula CASE se utiliza para realizar evaluaciones condicionales en una consulta SQL. Permite asignar valores o realizar acciones basadas en condiciones específicas.

sql
CASE
    WHEN <condicion1> THEN <resultado1>
    WHEN <condicion2> THEN <resultado2>
    ELSE <resultado_por_defecto>
END

Hagamos el ejemplo con la tabla empleados:

sql
SELECT nombre, salario,
    CASE
        WHEN salario >= 60000 THEN 'Alto'
        WHEN salario >= 50000 THEN 'Medio'
        ELSE 'Bajo'
    END AS nivel_salario
FROM empleados;

Estamos seleccionando el nombre, salario y asignando un nivel de salario basado en una condición. Si el salario es mayor o igual a 60000, se asigna el valor 'Alto'. Si el salario es mayor o igual a 50000, se asigna el valor 'Medio'. Del resto, se asigna el valor 'Bajo':

nombresalarionivel_salario
John50000Medio
Lisa60000Alto
Mark55000Medio
Sarah48000Bajo
David52000Medio
Emma65000Alto
Alex50000Medio
Laura47000Bajo

En la tabla resultante podemos apreciar los datos de los empleados, incluyendo el nombre, salario y nivel de salario. Cada fila representa un empleado y sus respectivos valores en las columnas.

Bootcamp Python y Data Analytics