Junior
¿Qué sabes sobre las muestras y las uniones en bases de datos?
sobes.tech AI
Respuesta de la IA
Las muestras (consultas SELECT) extraen datos de una o varias tablas. Las uniones (JOIN) combinan filas de dos o más tablas basándose en una columna relacionada entre ellas.
Tipos de uniones:
- INNER JOIN: Devuelve filas que tienen coincidencias en ambas tablas.
- LEFT JOIN (LEFT OUTER JOIN): Devuelve todas las filas de la tabla izquierda y las filas coincidentes de la derecha. Si no hay coincidencias, se devuelven
NULLpara la tabla derecha. - RIGHT JOIN (RIGHT OUTER JOIN): Devuelve todas las filas de la tabla derecha y las filas coincidentes de la izquierda. Si no hay coincidencias, se devuelven
NULLpara la tabla izquierda. - FULL JOIN (FULL OUTER JOIN): Devuelve todas las filas cuando hay coincidencias en al menos una de las tablas. Si no hay coincidencias, se devuelven
NULLpara los campos ausentes. (No soportado por todos los SGBD, por ejemplo, MySQL usa UNION para emularlo). - CROSS JOIN: Devuelve el producto cartesiano de filas de ambas tablas (cada fila de la primera tabla se combina con cada fila de la segunda).
Ejemplos de sintaxis:
-- INNER JOIN
SELECT *
FROM table1
INNER JOIN table2 ON table1.id = table2.foreign_id;
-- LEFT JOIN
SELECT customer.name, order.order_id
FROM customer
LEFT JOIN order ON customer.id = order.customer_id;
Palabras clave para las consultas:
SELECT: Define las columnas a extraer.FROM: Indica la(s) tabla(s).WHERE: Filtra filas según una condición dada.GROUP BY: Agrupa filas con valores iguales en una fila resumen.HAVING: Filtra los grupos después deGROUP BY.ORDER BY: Ordena el resultado.LIMIT / OFFSET: Limita la cantidad de filas devueltas.
La optimización de consultas y uniones es importante para el rendimiento de la base de datos. Se utilizan índices, definición correcta de tipos de datos, evitar SELECT * (cuando sea posible), optimización de condiciones en WHERE.
En PHP, para trabajar con consultas y uniones, se utilizan extensiones como PDO o MySQLi, que proporcionan API para ejecutar consultas SQL.