Guía rápida de SQL
Comandos y operaciones esenciales de SQL
Aquí tienes una hoja de trucos de SQL concisa que cubre comandos esenciales y operaciones:
Consultar datos
Seleccionar columnas específicas:
SELECT column1, column2 FROM table_name;
Seleccionar todas las columnas:
SELECT * FROM table_name;
Seleccionar valores distintos:
SELECT DISTINCT column1, column2 FROM table_name;
Filtrar datos:
SELECT column1, column2 FROM table_name WHERE condition;
Ordenar datos:
SELECT column1, column2 FROM table_name ORDER BY column1 [ASC|DESC];
Modificar datos
Insertar una fila:
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
Actualizar datos:
UPDATE table_name SET column1 = value1 WHERE condition;
Eliminar datos:
DELETE FROM table_name WHERE condition;
Operaciones con tablas
Crear una tabla:
CREATE TABLE table_name (
column1 datatype PRIMARY KEY,
column2 datatype,
column3 datatype
);
Modificar una tabla:
ALTER TABLE table_name ADD column_name datatype;
Eliminar una tabla:
DROP TABLE table_name;
Uniones
Unión interna:
SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;
Unión izquierda:
SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
Funciones de agregación
Contar filas:
SELECT COUNT(*) FROM table_name;
Sumar valores:
SELECT SUM(column_name) FROM table_name;
Calcular promedios:
SELECT AVG(column_name) FROM table_name;
Agrupar por:
SELECT column1, COUNT(*) FROM table_name GROUP BY column1;
Subconsultas
Subconsulta en SELECT:
SELECT column1, (SELECT AVG(column2) FROM table2) AS avg_col2 FROM table1;
Subconsulta en WHERE:
SELECT * FROM table1 WHERE column1 IN (SELECT column2 FROM table2);
Vistas
Crear una vista:
CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;
Eliminar una vista:
DROP VIEW view_name;
Esta hoja de trucos cubre los comandos y operaciones de SQL más comúnmente utilizados.
Proporciona una referencia rápida para consultar, modificar datos, operaciones con tablas, uniones, funciones de agregación, subconsultas y vistas.
Unión interna vs. externa
INNER JOIN y LEFT JOIN son dos tipos comunes de operaciones de unión en SQL que difieren en cómo combinan datos de múltiples tablas:
-
INNER JOIN:
- Devuelve solo las filas donde hay una coincidencia en ambas tablas según la condición de unión.
- Excluye cualquier fila que no tenga una coincidencia correspondiente en la otra tabla.
- Útil cuando deseas recuperar solo datos que existen en ambas tablas.
-
LEFT JOIN (también llamado LEFT OUTER JOIN):
- Devuelve todas las filas de la tabla izquierda y las filas coincidentes de la tabla derecha.
- Si no hay coincidencia en la tabla derecha, aún incluye la fila de la tabla izquierda y rellena con valores NULL para las columnas de la tabla derecha.
- Útil cuando deseas ver todos los registros de la tabla izquierda, incluso si no tienen datos correspondientes en la tabla derecha.
Diferencias clave:
-
Conjunto de resultados:
- INNER JOIN: Solo devuelve filas coincidentes.
- LEFT JOIN: Devuelve todas las filas de la tabla izquierda, más las filas coincidentes de la tabla derecha.
-
Valores NULL:
- INNER JOIN: No genera valores NULL para filas no coincidentes.
- LEFT JOIN: Genera valores NULL para las columnas de la tabla derecha cuando no hay coincidencia.
-
Casos de uso:
- INNER JOIN: Cuando necesitas datos que existen en ambas tablas.
- LEFT JOIN: Cuando necesitas todos los datos de una tabla y cualquier dato coincidente de otra.
-
Completitud de datos:
- INNER JOIN: Puede excluir datos si no hay coincidencias.
- LEFT JOIN: Asegura que se incluyan todos los datos de la tabla izquierda, proporcionando una vista más completa de los datos de la tabla izquierda.
Entender estas diferencias te permite elegir el tipo de unión adecuado según tus necesidades específicas de recuperación de datos y objetivos de análisis.