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
.
id | nombre | departamento | salario |
---|---|---|---|
1 | John | Ventas | 50000 |
2 | Lisa | Finanzas | 60000 |
3 | Mark | IT | 55000 |
4 | Sarah | Ventas | 48000 |
5 | David | IT | 52000 |
6 | Emma | Finanzas | 65000 |
7 | Alex | IT | 50000 |
8 | Laura | Ventas | 47000 |
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.
sqlSELECT <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:
sqlSELECT * FROM empleados LIMIT 3;
Vamos a seleccionar todas las columnas de la tabla empleados pero muestra solo las primeras 3 filas:
id | nombre | departamento | salario |
---|---|---|---|
1 | John | Ventas | 50000 |
2 | Lisa | Finanzas | 60000 |
3 | Mark | IT | 55000 |
🔄 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.
sqlSELECT DISTINCT <columna> FROM <tabla>;
Vamos a probarlo con nuestra tabla de empleados:
sqlSELECT 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.
sqlCASE WHEN <condicion1> THEN <resultado1> WHEN <condicion2> THEN <resultado2> ELSE <resultado_por_defecto> END
Hagamos el ejemplo con la tabla empleados:
sqlSELECT 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':
nombre | salario | nivel_salario |
---|---|---|
John | 50000 | Medio |
Lisa | 60000 | Alto |
Mark | 55000 | Medio |
Sarah | 48000 | Bajo |
David | 52000 | Medio |
Emma | 65000 | Alto |
Alex | 50000 | Medio |
Laura | 47000 | Bajo |
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
Bootcamp Python y Data Analytics