Uniones en SQL: Combinando resultados de múltiples tablas
Introducción
Las uniones
en SQL son una herramienta fundamental para combinar datos de dos o más tablas
relacionadas. Esto permite realizar consultas más complejas y obtener
información valiosa a partir de diferentes fuentes de datos.
Conceptos
clave
- Tipos de uniones:
- INNER JOIN: Devuelve solo las
filas que tienen un valor común en ambas tablas.
- LEFT JOIN: Devuelve todas las
filas de la tabla izquierda y las filas coincidentes de la tabla derecha.
- RIGHT JOIN: Devuelve todas las
filas de la tabla derecha y las filas coincidentes de la tabla izquierda.
- FULL OUTER JOIN: Devuelve
todas las filas cuando hay una coincidencia en alguna de las columnas.
- Claves primarias y foráneas: La relación entre las tablas
se establece mediante claves primarias y foráneas.
Ejemplos
prácticos
SQL
-- Ejemplo de INNER JOIN
SELECT clientes.nombre, pedidos.fecha
FROM clientes
INNER JOIN pedidos ON
clientes.id_cliente =
pedidos.id_cliente;
Usa el
código con
precaución.
Ejercicios
- Crea una consulta que muestre
el nombre de los productos y el nombre de la categoría a la que pertenecen.
- Obtén una lista de todos los
clientes, incluso aquellos que no han realizado ningún pedido.
Consideraciones adicionales
- Rendimiento: Las uniones pueden afectar el
rendimiento de las consultas, especialmente en bases de datos grandes.
- Optimización: Utiliza índices para mejorar
la velocidad de las uniones.
- Alias: Utiliza alias para hacer las
consultas más legibles.
Subconsultas en SQL: Consultas anidadas para obtener resultados más complejos
Introducción Las subconsultas son consultas SQL
incrustadas dentro de otras consultas. Permiten realizar consultas más
complejas y obtener información detallada a partir de múltiples tablas.
Conceptos
clave
- Subconsultas escalares: Devuelven un único valor.
- Subconsultas correlacionadas: Se refieren a filas de la
consulta externa.
- Subconsultas en cláusulas
WHERE, HAVING, FROM, etc.
Sintaxis SQL
SQL
SELECT columna1
FROM tabla1
WHERE columna2 IN (SELECT columna3 FROM tabla2);
Usa el
código con
precaución.
Ejemplos
prácticos
- Encontrar empleados cuyo
salario sea mayor que el salario promedio.
- Obtener los productos más
vendidos de cada categoría.
Ejercicios
- Encuentra los clientes que
hayan realizado pedidos en los últimos 3 meses.
- Obtén el nombre del empleado
que ha realizado más ventas.
Consideraciones adicionales
- Rendimiento: Las subconsultas pueden
afectar el rendimiento de las consultas, especialmente en bases de datos
grandes.
- Alternativas: En algunos casos, se pueden utilizar JOINs para obtener los mismos resultados de forma más eficiente.
Algunos temas adicionales que podríamos abordar:
- Ventanas: Funciones de ventana para
realizar cálculos sobre conjuntos de filas.
- Índices: Cómo crear y utilizar índices
para mejorar el rendimiento de las consultas.
- Optimización de consultas: Técnicas para escribir
consultas SQL eficientes.
- Procedimientos almacenados: Creación y ejecución de
procedimientos almacenados.
- Triggers: Automatización de tareas
mediante triggers.