Preguntas de la entrevista para desarrolladores de SQL: preguntas y respuestas comunes de la entrevista de SQL- Parte 3

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 y WHERE 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.