En SQL, ¿qué tipos de joins
has usado y explica cómo funcionan?
Respuesta:
INNER JOIN
: Devuelve filas con datos coincidentes de ambas tablas.LEFT JOIN
: Devuelve todas las filas de la tabla de la izquierda y las filas coincidentes de la tabla de la derecha.RIGHT JOIN
: Devuelve todas las filas de la tabla de la derecha y las filas coincidentes de la tabla de la izquierda.FULL JOIN
: Devuelve todas las filas de ambas tablas, incluidas las filas que no coinciden.
Explicar los conceptos ACID en SQL y su función en la gestión de transacciones
Respuesta: ACID significa Atomicity, Consistency, Isolation, Durability
. Estas son propiedades esenciales en la gestión de transacciones en SQL:
Atomicity
garantiza que una transacción se procese por completo o no se procese en absoluto.Consistency
asegura que los datos deben adherirse a las reglas, restricciones y condiciones definidas.Isolation
asegura que las transacciones concurrentes no interfieran entre sí.Durability
asegura que una vez que se completa una transacción, los cambios en la base de datos se guardan de forma segura y permanente.
¿ Cuál es la diferencia entre ROW_NUMBER(), RANK(), DENSE_RANK()
funciones en SQL?
Respuesta: ROW_NUMBER(), RANK(), DENSE_RANK()
todos se utilizan para numerar filas en un resultado de consulta, pero tienen las siguientes diferencias:
ROW_NUMBER()
: asigna números continuos a las filas en el resultado de la consulta, sin considerar los duplicados.RANK()
: asigna números a las filas en el resultado de la consulta y omite el siguiente número en caso de empate.DENSE_RANK()
: asigna números a las filas en el resultado de la consulta y no omite el siguiente número en caso de empate.
Cómo usar window functions
en SQL y proporcionar un ejemplo.
Respuesta: Window functions
permite realizar cálculos en un conjunto de filas relacionadas sin cambiar el resultado de la consulta principal. Por ejemplo, podemos usar funciones de ventana para calcular totales acumulados o recuperar las primeras N filas dentro de un conjunto de resultados.
SELECT ProductID, UnitPrice,
SUM(UnitPrice) OVER(ORDER BY ProductID) AS RunningTotal
FROM Products;
Cómo usar expresiones regulares en SQL para la coincidencia de patrones
Respuesta: Las expresiones regulares en SQL se utilizan para búsquedas de patrones de texto complejos. A menudo se usan con el LIKE
operador o funciones como REGEXP_LIKE
(en Oracle) o REGEXP_MATCHES
(en PostgreSQL).
SELECT * FROM Employees WHERE LastName LIKE '%son%';
Cómo usar funciones JSON en SQL para trabajar con datos JSON
Respuesta: Las funciones JSON en SQL permiten consultar, insertar, actualizar y eliminar datos en formato JSON en la base de datos.
Por ejemplo, podemos usar funciones como JSON_VALUE, JSON_QUERY, JSON_MODIFY(en SQL Server) u operadores como ->, ->>, #>, #>>, etc.(en PostgreSQL) para manipular las propiedades de JSON.
SELECT JSON_VALUE(CustomerInfo, '$.Name') AS CustomerName
FROM Customers;
Técnicas avanzadas para la optimización de consultas SQL y el ajuste del rendimiento de la base de datos
Respuesta: Para optimizar las consultas SQL y el rendimiento de la base de datos, podemos usar técnicas como:
- Uso de índices para columnas consultadas con frecuencia.
- Optimización
JOIN
yWHERE
cláusulas para la recuperación eficiente de datos. - Utilizando funciones de ventana y paginación cuando sea necesario.
- Evitar
SELECT
* para recuperar solo las columnas necesarias. - Uso de sugerencias de consulta en algunos casos.
- Garantizar la normalización de datos y eliminar duplicados.
- Emplear herramientas de monitoreo de rendimiento para rastrear y ajustar la base de datos.
Explicar cómo usar SET
operaciones (UNION, INTERSECT, EXCEPT)
en SQl
Respuesta: SET
las operaciones (UNION, INTERSECT, EXCEPT)
se utilizan para combinar y manipular conjuntos de resultados de diferentes consultas.
UNION
: combina los resultados de dos o más consultas en un único conjunto de datos y elimina los duplicados.INTERSECT
: Devuelve filas que aparecen en ambos conjuntos de resultados de consulta.EXCEPT
: Devuelve las filas que aparecen en el primer conjunto de resultados de la consulta pero no en el segundo.
Cómo usar funciones de consulta como LEAD, LAG, FIRST_VALUE, LAST_VALUE
en SQL
Respuesta: Las funciones de consulta como LEAD, LAG, FIRST_VALUE, LAST_VALUE
se utilizan para recuperar valores de filas relacionadas dentro del mismo resultado de consulta.
LEAD
: Obtiene el valor de una columna de la siguiente fila en el resultado de la consulta.LAG
: Obtiene el valor de una columna de la fila anterior en el resultado de la consulta.FIRST_VALUE
: recupera el primer valor de una columna en el resultado de la consulta.LAST_VALUE
: Recupera el último valor de una columna en el resultado de la consulta.