Query data

Definición

SELECT <attr1>|<attr2> FROM <tabla>;  -- Imprimir solo ciertas columnas de la tabla
SELECT * FROM <tabla>;                -- Imprimir toda la tabla

Filtrado WHERE

SELECT [ALL|DISTINCT] attrs|* FROM <tabla> WHERE <condition>;
Posibilidades del where
  • <attr> = <value> → Igualdad
  • <attr> >= <value> → Comparación con (> , < , >= , <= , = , <> )
  • <attr> LIKE 'Hol_ que % amigos' → Patrón: _ match de un caracter y % match de n caracteres
  • <attr> IN <table1col> → Contenido la tabla (tabla de una columna a modo de lista)
  • <attr> IS [NOT] NULL → Es o no es nulo
  • <attr> BETWEEN <value> AND <value> → Intervalo
Posibilidades del where 2: Predicados
  • <attr> <operator> ALL(<nestedQuery>) → El valor debe evaluarse true con todas las tuplas del subquery
  • <attr> <operator> ANY(<nestedQuery>) → El valor debe evaluarse true con al menos una de las tuplas del subquery
  • EXIST(<nestedQuerySubset>) → Comprueba si existe un cierto subconjunto en la tabla
SELECT con WHERE: Recupera filas que cumplen una condición específica.
SELECT * FROM empleado WHERE salario > 5000;
Uso de ALL, ANY y EXISTS
-- ALL

Ordenación ORDER BY

SELECT attrs|* FROM <tabla> ORDER BY <attr> [DESC|ASC]
SELECT attrs|* FROM <tabla> ORDER BY <columnNum> [DESC|ASC]
SELECT con ORDER BY: Recupera filas y las ordena por una o más columnas.
SELECT * FROM empleado ORDER BY salario DESC;

Combinación JOIN

SELECT attrs|* FROM <tabla>
SELECT con JOIN: Recupera filas de dos o más tablas basándose en una relación entre ellas.
SELECT e.nombre, d.nombre AS departamento
FROM empleado e
JOIN departamento d ON e.departamento_id = d.departamento_id;

Agrupar GROUP BY

SELECT <attr>, <func> FROM <tabla> GROUP BY <attr>;
SELECT <attr>, <func> FROM <tabla> GROUP BY <attr> HAVING <expression>;
Funciones de agrupación
  • COUNT(*) → Cuenta lineas incluyendo nulos
    • COUNT(DISTINCT <attr>) → Sin incluir nulos
  • MAX(<attr>) → Valor máximo
  • MIN(<attr>) → Valor mínimo
  • AVG(<attr>) → Valor medio
  • SUM(<attr>) → Suma de todos los valores del grupo
SELECT con GROUP BY y funciones de agregación: Recupera datos agregados, como la suma, el promedio, el mínimo o el máximo de una columna.
SELECT departamento_id, COUNT(*) AS num_empleados, AVG(salario) AS salario_promedio
FROM empleado
GROUP BY departamento_id;

Aliases

Podemos asignar un alias a una tabla o columna durante una consulta
  • Colunas → Se usa AS aunque se puede usar solo un espacio
  • Tabla → Se una un espacio
-- Alias de columna (se muesta el alias en la tabla resultante)

Orden de los parámetros adicionales

💡
FROMWHEREGROUP BYHAVINGORDER BY

Ejemplos

SELECT básico: Recupera todas las columnas de una tabla.
SELECT * FROM empleado;
SELECT con columnas específicas: Recupera solo las columnas especificadas de una tabla.
SELECT nombre, salario FROM empleado;
SELECT con subconsulta: Utiliza el resultado de una consulta como entrada para otra consulta.
SELECT * FROM empleado WHERE salario > (SELECT AVG(salario) FROM empleado);