Guía Básica de SQL
Esta guía explica los conceptos fundamentales de SQL con ejemplos.
SELECT
Consultar datos.
SELECT nombre, salario FROM empleados;
WHERE
Filtrar filas.
SELECT * FROM empleados WHERE departamento='Ventas';
ORDER BY
Ordenar resultados.
SELECT * FROM empleados ORDER BY salario DESC;
DISTINCT
Eliminar duplicados.
SELECT DISTINCT ciudad FROM clientes;
COUNT(*)
Contar filas.
SELECT COUNT(*) FROM empleados;
GROUP BY
Agrupar datos.
SELECT departamento, AVG(salario) FROM empleados GROUP BY departamento;
AVG
Calcular promedio.
SELECT AVG(salario) FROM empleados;
BETWEEN
Buscar por rango.
SELECT * FROM empleados WHERE salario BETWEEN 700 AND 1000;
LIKE
Buscar patrones.
SELECT * FROM clientes WHERE nombre LIKE 'Mar%';
NULL
Valor desconocido o inexistente.
-- Ejemplo: WHERE telefono IS NULL
INNER JOIN
Solo coincidencias.
SELECT * FROM clientes INNER JOIN pedidos ON
[Link]=[Link];
LEFT JOIN
Todas las filas de la izquierda.
SELECT * FROM clientes LEFT JOIN pedidos ON
[Link]=[Link];
HAVING
Filtrar grupos.
SELECT departamento, AVG(salario) FROM empleados GROUP BY departamento
HAVING AVG(salario)>800;
WITH
Crear CTE.
WITH ultimos AS (SELECT numero_tramite, MAX(fecha_estado) fecha_estado
FROM tramites GROUP BY numero_tramite) SELECT * FROM ultimos;
IN
Comparar varios valores.
SELECT * FROM tramites WHERE categoria IN ('Nuevo','Renovación');
EXISTS
Verificar existencia.
SELECT * FROM clientes WHERE EXISTS (SELECT * FROM pedidos WHERE
[Link]=[Link]);
UNION
Unir sin duplicados.
SELECT ciudad FROM a UNION SELECT ciudad FROM b;
UNION ALL
Unir con duplicados.
SELECT ciudad FROM a UNION ALL SELECT ciudad FROM b;
VIEW
Consulta almacenada.
CREATE VIEW empleados_activos AS SELECT * FROM empleados WHERE
estado='Activo';
PRIMARY KEY
Identificador único.
CREATE TABLE clientes(id INT PRIMARY KEY,nombre VARCHAR(50));
FOREIGN KEY
Relacionar tablas.
FOREIGN KEY(clienteid) REFERENCES clientes(id);
Resumen
SELECT consulta datos; WHERE filtra; ORDER BY ordena; GROUP BY agrupa; HAVING filtra
grupos; JOIN relaciona tablas; COUNT/SUM/AVG/MAX/MIN realizan agregaciones.