SQL es un lenguaje de base de datos estándar que se utiliza para acceder y manipular datos en bases de datos. Lo que representa lenguaje de consulta estructurado y fue desarrollado por IBM Computer Scientists en la década de 1970. Al ejecutar consultas, SQL puede crear, actualizar, eliminar y recuperar datos en bases de datos como MySQL, Oracle, PostgreSQL, etc. En general, SQL es un lenguaje de consulta que se comunica con bases de datos.
En este artículo, cubrimos Más de 70 preguntas de entrevista SQL con respuestas preguntó en entrevistas para desarrolladores de SQL en MAANG y otras empresas bien remuneradas. Ya sea que sea un profesional nuevo o experimentado con 2, 5 o 10 años de experiencia, este artículo le brinda toda la confianza que necesita para triunfar en su próxima entrevista SQL.
Tabla de contenidos
- Preguntas y respuestas de la entrevista SQL para principiantes
- Preguntas y respuestas de la entrevista de SQL intermedio
- Preguntas y respuestas de la entrevista SQL avanzada
Preguntas y respuestas de la entrevista SQL para principiantes
1. ¿Qué es SQL?
SQL significa lenguaje de consulta estructurado. Es un lenguaje utilizado para interactuar con la base de datos, es decir, crear una base de datos, crear una tabla en la base de datos, recuperar datos o actualizar una tabla en la base de datos, etc. SQL es un estándar ANSI (Instituto Nacional Estadounidense de Estándares). Usando SQL, podemos hacer muchas cosas. Por ejemplo, podemos ejecutar consultas, podemos insertar registros en una tabla, podemos actualizar registros, podemos crear una base de datos, podemos crear una tabla, podemos eliminar una tabla, etc.
2. ¿Qué es una base de datos?
A Base de datos Se define como una forma estructurada de almacenamiento de datos en una computadora o una colección de datos de manera organizada y a la que se puede acceder de varias maneras. También es la colección de esquemas, tablas, consultas, vistas, etc. Las bases de datos nos ayudan a almacenar, acceder y manipular fácilmente los datos almacenados en una computadora. El sistema de gestión de bases de datos permite al usuario interactuar con la base de datos.
3. ¿SQL admite funciones del lenguaje de programación?
Es cierto que SQL es un lenguaje, pero no soporta programación al no ser un lenguaje de programación, es un lenguaje de comandos. No tenemos declaraciones condicionales en SQL como bucles for o if... else, solo tenemos comandos que podemos usar para consultar, actualizar, eliminar, etc., datos en la base de datos. SQL nos permite manipular datos en una base de datos.
4. ¿Cuál es la diferencia entre el tipo de datos CHAR y VARCHAR2 en SQL?
Ambos tipos de datos se usan para caracteres, pero varchar2 se usa para cadenas de caracteres de longitud variable, mientras que char se usa para cadenas de caracteres de longitud fija. Por ejemplo , si especificamos el tipo como char(5) entonces no se nos permitirá almacenar una cadena de cualquier otra longitud en esta variable, pero si especificamos el tipo de esta variable como varchar2(5) entonces se nos permitirá almacenar cadenas de longitud variable. Podemos almacenar una cadena de longitud 3, 4 o 2 en esta variable.
5. ¿Qué quiere decir con lenguaje de definición de datos?
Lenguaje de definición de datos o DDL permite la ejecución de consultas como CREATE, DROP y ALTER. Esas son aquellas consultas que definen los datos.
6. ¿Qué quiere decir con lenguaje de manipulación de datos?
El lenguaje de manipulación de datos o DML se utiliza para acceder o manipular datos en la base de datos. Nos permite realizar las funciones que se enumeran a continuación:
- Insertar datos o filas en una base de datos
- Eliminar datos de la base de datos.
- Recuperar o buscar datos
- Actualizar datos en una base de datos.
7. ¿Cuál es la vista en SQL?
Vistas en SQL Son una especie de mesa virtual. Una vista también tiene filas y columnas tal como están en una tabla real de la base de datos. Podemos crear una vista seleccionando campos de una o más tablas presentes en la base de datos. Una Vista puede tener todas las filas de una tabla o filas específicas según ciertas condiciones.
La declaración CREATE VIEW de SQL se utiliza para crear vistas.
Sintaxis básica:
CREATE VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE condition; view_name : Name for the View table_name : Name of the table condition : Condition to select rows>
8. ¿Qué quieres decir con clave externa?
A Clave externa es un campo que puede identificar de forma única cada fila en otra tabla. Y esta restricción se usa para especificar un campo como clave externa. Es decir, este campo apunta a la clave principal de otra tabla. Esto suele crear una especie de vínculo entre las dos tablas.
Considere las dos tablas como se muestra a continuación:
Pedidos
| O_ID | ORDER_NO | C_ID |
|---|---|---|
| 1 | 2253 | 3 |
| 2 | 3325 | 3 |
| 3 | 4521 | 2 |
| 4 | 8532 | 1 |
Clientes
| C_ID | NOMBRE | DIRECCIÓN |
|---|---|---|
| 1 | RAMESH | DELHI |
| 2 | SEGURO | NOIDA |
| 3 | Dharmesh | GURGAÓN |
Como podemos ver claramente, el campo C_ID en la tabla Pedidos es la clave principal en la tabla Clientes, es decir, identifica de forma única cada fila en la tabla Clientes. Por lo tanto, es una clave externa en la tabla de Órdenes.
Sintaxis:
CREATE TABLE Orders ( O_ID int NOT NULL, ORDER_NO int NOT NULL, C_ID int, PRIMARY KEY (O_ID), FOREIGN KEY (C_ID) REFERENCES Customers(C_ID) )>
9. ¿Qué son la tabla y el campo?
Mesa: Una tabla tiene una combinación de filas y columnas. Las filas se llaman registros y las columnas se llaman campos. En MS SQL Server, las tablas se designan dentro de la base de datos y los nombres del esquema.
Campo: En DBMS, un campo de base de datos se puede definir como una única pieza de información de un registro.
10. ¿Cuál es la clave principal?
A Clave primaria es una de las claves candidatas. Una de las claves candidatas se selecciona como la más importante y se convierte en la clave principal. No puede haber más de una clave principal en una tabla.
11. ¿Qué es una restricción predeterminada?
El POR DEFECTO La restricción se utiliza para llenar una columna con valores predeterminados y fijos. El valor se agregará a todos los registros nuevos cuando no se proporcione ningún otro valor.
12. ¿Qué es la normalización?
Es un proceso de análisis de los esquemas de relación dados en función de sus dependencias funcionales y claves primarias para lograr las siguientes propiedades deseables:
- Minimizar la redundancia
- Minimizar las anomalías de inserción, eliminación y actualización
Los esquemas de relación que no cumplen con las propiedades se descomponen en esquemas de relación más pequeños que podrían cumplir con las propiedades deseables.
13. ¿Qué es la desnormalización?
Desnormalización es una técnica de optimización de bases de datos en la que agregamos datos redundantes a una o más tablas. Esto puede ayudarnos a evitar uniones costosas en una base de datos relacional. Tenga en cuenta que la desnormalización no significa no realizar la normalización. Es una técnica de optimización que se aplica después de la normalización.
En una base de datos normalizada tradicional, almacenamos datos en tablas lógicas separadas e intentamos minimizar los datos redundantes. Podemos esforzarnos por tener solo una copia de cada dato en la base de datos.
14. ¿Qué es una consulta?
Un SQL La consulta se utiliza para recuperar los datos requeridos de la base de datos. Sin embargo, puede haber varias consultas SQL que produzcan los mismos resultados pero con diferentes niveles de eficiencia. Una consulta ineficiente puede agotar los recursos de la base de datos, reducir la velocidad de la base de datos o provocar una pérdida de servicio para otros usuarios. Por eso es muy importante optimizar la consulta para obtener el mejor rendimiento de la base de datos.
imagen como fondo en css
15. ¿Qué es una subconsulta?
En SQL, un Subconsulta se puede definir simplemente como una consulta dentro de otra consulta. En otras palabras, podemos decir que una Subconsulta es una consulta que está incrustada en la cláusula WHERE de otra consulta SQL.
16. ¿Cuáles son los diferentes operadores disponibles en SQL?
Hay tres operadores disponibles en SQL, a saber:
- Operadores aritméticos
- Operadores logicos
- Operadores de comparación
17. ¿Qué es una restricción?
Las restricciones son las reglas que podemos aplicar al tipo de datos de una tabla. Es decir, podemos especificar el límite del tipo de datos que se pueden almacenar en una columna particular de una tabla mediante restricciones. Para obtener más detalles, consulte SQL|Restricciones artículo.
18. ¿Qué es la integridad de los datos?
La integridad de los datos se define como que los datos contenidos en la base de datos sean correctos y consistentes. Para ello, los datos almacenados en la base de datos deben satisfacer ciertos tipos de procedimientos (reglas). Los datos de una base de datos deben ser correctos y consistentes. Entonces, los datos almacenados en la base de datos deben satisfacer ciertos tipos de procedimientos (reglas). DBMS proporciona diferentes formas de implementar este tipo de restricciones (reglas). Esto mejora la integridad de los datos en una base de datos. Para obtener más detalles, consulte diferencia entre seguridad de datos e integridad de datos artículo.
19. ¿Qué es el incremento automático?
A veces, al crear una tabla, no tenemos un identificador único dentro de la tabla, por lo que tenemos dificultades para elegir la clave principal. Para resolver este problema, debemos proporcionar manualmente claves únicas para cada registro, pero esto también suele ser una tarea tediosa. Por lo tanto, podemos utilizar la función Incremento automático que genera automáticamente un valor de clave principal numérico para cada nuevo registro insertado. La función de incremento automático es compatible con todas las bases de datos. Para obtener más detalles, consulte Incremento automático de SQL artículo.
20. ¿Qué es la intercalación de MySQL?
Una intercalación de MySQL es un conjunto bien definido de reglas que se utilizan para comparar caracteres de un conjunto de caracteres en particular utilizando su codificación correspondiente. Cada conjunto de caracteres en MySQL puede tener más de una intercalación y tiene, al menos, una intercalación predeterminada. Dos conjuntos de caracteres no pueden tener la misma clasificación. Para obtener más detalles, consulte ¿Qué son la intercalación y el juego de caracteres en MySQL? artículo.
21. ¿Qué son las funciones definidas por el usuario?
Podemos utilizar funciones definidas por el usuario en PL/SQL o Java para proporcionar funciones que no están disponibles en SQL o funciones integradas de SQL. Las funciones SQL y las funciones definidas por el usuario pueden aparecer en cualquier lugar, es decir, dondequiera que aparezca una expresión.
Por ejemplo, se puede utilizar en:
- Seleccione una lista de declaraciones SELECT.
- Condición de la cláusula WHERE.
- CONECTAR POR, ORDENAR POR, COMENZAR CON y AGRUPAR POR
- La cláusula VALUES de la declaración INSERT.
- La cláusula SET de la declaración UPDATE.
22. ¿Cuáles son todos los tipos de funciones definidas por el usuario?
Las funciones definidas por el usuario permiten a las personas definir sus propias funciones T-SQL que pueden aceptar 0 o más parámetros y devolver un único valor de datos escalar o un tipo de datos de tabla.
Los diferentes tipos de funciones definidas por el usuario creadas son:
1. Función escalar definida por el usuario Una función escalar definida por el usuario devuelve uno de los tipos de datos escalares. No se admiten los tipos de datos de texto, imagen y marca de tiempo. Este es el tipo de funciones definidas por el usuario a las que la mayoría de los desarrolladores están acostumbrados en otros lenguajes de programación. Pasas 0 a muchos parámetros y obtienes un valor de retorno.
2. Función definida por el usuario de valores de tabla en línea Una función definida por el usuario Inline Table-Value devuelve un tipo de datos de tabla y es una alternativa excepcional a una vista, ya que la función definida por el usuario puede pasar parámetros a un comando de selección T-SQL y, en esencia, proporcionarnos una función parametrizada, no -Vista actualizable de las tablas subyacentes.
3. Función definida por el usuario de valores de tabla de declaraciones múltiples Una función definida por el usuario con valores de tabla de declaraciones múltiples devuelve una tabla y también es una alternativa excepcional a una vista, ya que la función puede admitir múltiples declaraciones T-SQL para generar el resultado final donde la vista se limita a una sola declaración SELECT. Además, la capacidad de pasar parámetros a un comando de selección TSQL o a un grupo de ellos nos brinda la capacidad de, en esencia, crear una vista parametrizada y no actualizable de los datos en las tablas subyacentes. Dentro del comando de creación de función debe definir la estructura de la tabla que se devuelve. Después de crear este tipo de función definida por el usuario, se puede usar en la cláusula FROM de un comando T-SQL, a diferencia del comportamiento que se encuentra al usar un procedimiento almacenado que también puede devolver conjuntos de registros.
23. ¿Qué es un procedimiento almacenado?
Procedimientos almacenados se crean para realizar una o más operaciones DML en bases de datos. No es más que un grupo de declaraciones SQL que acepta alguna entrada en forma de parámetros y realiza alguna tarea y puede devolver o no un valor. Para obtener más detalles, consulte nuestro Procedimientos almacenados en el SQL. artículo.
24. ¿Qué son las funciones agregadas y escalares?
Para realizar operaciones con datos, SQL tiene muchas funciones integradas, se clasifican en dos categorías y luego se subclasifican en siete funciones diferentes en cada categoría. Las categorías son:
- Funciones agregadas: Estas funciones se utilizan para realizar operaciones a partir de los valores de la columna y se devuelve un único valor.
- Funciones escalares: Estas funciones se basan en la entrada del usuario y también devuelven un valor único.
Para obtener más detalles, lea el SQL | Funciones (funciones agregadas y escalares) artículo.
25. ¿Qué es un comando ALIAS?
Los alias son los nombres temporales dados a una tabla o columna con el fin de una consulta SQL particular. Se utiliza cuando se utiliza el nombre de una columna o tabla distinto de su nombre original, pero el nombre modificado es sólo temporal.
- Los alias se crean para hacer que los nombres de tablas o columnas sean más legibles.
- El cambio de nombre es sólo un cambio temporal y el nombre de la tabla no cambia en la base de datos original.
- Los alias son útiles cuando los nombres de tablas o columnas son grandes o no muy legibles.
- Se prefieren cuando hay más de una tabla involucrada en una consulta.
Para obtener más detalles, lea el SQL | Alias artículo.
26. ¿Qué son los comandos Unión, menos e Interactuar?
Las operaciones de configuración en SQL eliminan tuplas duplicadas y solo se pueden aplicar a las relaciones que son compatibles con la unión. Las operaciones de configuración disponibles en SQL son:
- Establecer unión
- Establecer intersección
- Establecer diferencia
Operación UNIÓN: Esta operación incluye todas las tuplas que están presentes en cualquiera de las relaciones. Por ejemplo: Para encontrar todos los clientes que tienen un préstamo o una cuenta o ambas en un banco.
SELECT CustomerName FROM Depositor UNION SELECT CustomerName FROM Borrower ;>
La operación de unión elimina automáticamente los duplicados. Si se supone que se conservarán todos los duplicados, se utiliza UNION ALL en lugar de UNION.
Operación INTERSECCIÓN: Esta operación incluye las tuplas que están presentes en ambas relaciones. Por ejemplo: Para encontrar los clientes que tienen un préstamo además de una cuenta en el banco:
SELECT CustomerName FROM Depositor INTERSECT SELECT CustomerName FROM Borrower ;>
La operación Intersect elimina automáticamente los duplicados. Si se supone que se conservarán todos los duplicados, se utiliza INTERSECT ALL en lugar de INTERSECT.
EXCEPTO para Operación: Esta operación incluye tuplas que están presentes en una relación pero que no deberían estar presentes en otra relación. Por ejemplo: para buscar clientes que tienen una cuenta pero no tienen un préstamo en el banco:
SELECT CustomerName FROM Depositor EXCEPT SELECT CustomerName FROM Borrower ;>
La operación Excepto elimina automáticamente los duplicados. Si se supone que se conservarán todos los duplicados, se utiliza EXCEPTO TODOS en lugar de EXCEPTO.
27. ¿Qué es T-SQL?
T-SQL es una abreviatura de Transact Structure Query Language. Es un producto de Microsoft y es una extensión del lenguaje SQL que se utiliza para interactuar con bases de datos relacionales. Se considera que funciona mejor con servidores Microsoft SQL. Las declaraciones T-SQL se utilizan para realizar las transacciones a las bases de datos. T-SQL tiene una gran importancia ya que todas las comunicaciones con una instancia de un servidor SQL se realizan enviando declaraciones Transact-SQL al servidor. Los usuarios también pueden definir funciones utilizando T-SQL.
Los tipos de funciones T-SQL son:
- Agregar funciones.
- Clasificación funciones. Existen diferentes tipos de funciones de clasificación.
- Conjunto de filas función.
- Escalar funciones.
28. ¿Qué es ETL en SQL?
ETL es un proceso en Data Warehousing y significa Extracto , Transformar, y Carga . Es un proceso en el que una herramienta ETL extrae los datos de varios sistemas de origen de datos, los transforma en el área de preparación y, finalmente, los carga en el sistema de almacén de datos. Estas son tres funciones de base de datos que se incorporan en una herramienta para extraer datos de una base de datos y colocarlos en otra base de datos.
29. ¿Cómo copiar tablas en SQL?
A veces, en SQL, necesitamos crear una copia exacta de una tabla ya definida (o creada). mysql le permite realizar esta operación. Porque es posible que necesitemos tablas duplicadas para probar los datos sin tener ningún impacto en la tabla original y los datos almacenados en ella.
CREATE TABLE Contact List(Clone_1) LIKE Original_table;>
Para más detalles, por favor lea Mesa de clonación en el mysql artículo.
30. ¿Qué es la inyección SQL?
La inyección SQL es una técnica utilizada para explotar los datos del usuario a través de entradas de páginas web mediante la inyección de comandos SQL como declaraciones. Básicamente, estas declaraciones pueden ser utilizadas para manipular el servidor web de la aplicación por parte de usuarios malintencionados.
- La inyección SQL es una técnica de inyección de código que podría destruir su base de datos.
- La inyección SQL es una de las técnicas de piratería web más comunes.
- La inyección SQL es la colocación de código malicioso en sentencias SQL, a través de la entrada de una página web.
Para obtener más detalles, lea el SQL | Inyección artículo.
31. ¿Podemos desactivar un disparador? Si es así, ¿cómo?
Sí, podemos desactivar un disparador en PL/SQL. Si considera desactivar temporalmente un activador y se cumple una de las siguientes condiciones:
- Un objeto al que hace referencia el desencadenador no está disponible.
- Debemos realizar una gran carga de datos y queremos que avance rápidamente sin activar disparadores.
- Estamos cargando datos en la tabla a la que se aplica el disparador.
- Deshabilitamos un disparador usando la instrucción ALTER TRIGGER con la opción DISABLE.
- Podemos desactivar todos los disparadores asociados a una tabla al mismo tiempo usando la sentencia ALTER TABLE con la opción DISABLE ALL TRIGGERS.
Preguntas y respuestas de la entrevista de SQL intermedio
32. ¿Cuáles son las diferencias entre SQL y PL/SQL?
Algunas diferencias comunes entre SQL y PL/SQL se muestran a continuación:
| SQL | PL/SQL |
|---|---|
| SQL es un lenguaje de ejecución de consultas o de comandos. | PL/SQL es un lenguaje de programación completo |
| SQL es un lenguaje orientado a datos. | PL/SQL es un lenguaje procedimental |
| SQL es de naturaleza muy declarativa. | PL/SQL tiene una naturaleza procesal. |
| Se utiliza para manipular datos. | Se utiliza para crear aplicaciones. |
| Podemos ejecutar una declaración a la vez en SQL | Podemos ejecutar bloques de sentencias en PL/SQL |
| SQL le dice a las bases de datos, ¿qué hacer? | PL/SQL le dice a las bases de datos cómo hacerlo. |
| Podemos incrustar SQL en PL/SQL | No podemos incrustar PL/SQL en SQL |
33. ¿Cuál es la diferencia entre los operadores ENTRE e IN en SQL?
ENTRE: El ENTRE El operador se utiliza para recuperar filas en función de un rango de valores.
Por ejemplo,
SELECT * FROM Students WHERE ROLL_NO BETWEEN 20 AND 30;>
Esta consulta seleccionará todas esas filas de la tabla. Estudiantes donde el valor del campo ROLL_NO se encuentre entre 20 y 30.
EN: El EN El operador se utiliza para comprobar los valores contenidos en conjuntos específicos.
Por ejemplo,
SELECT * FROM Students WHERE ROLL_NO IN (20,21,23);>
Esta consulta seleccionará todas aquellas filas de la tabla Estudiantes donde el valor del campo ROLL_NO es 20, 21 o 23.
34. Escriba una consulta SQL para encontrar los nombres de los empleados que comienzan con 'A'.
Para ello se utiliza el operador LIKE de SQL. Se utiliza para recuperar datos filtrados buscando un patrón particular en la cláusula donde.
La sintaxis para usar LIKE es,
SELECCIONE columna1, columna2 DESDE nombre_tabla DONDE nombre_columna COMO patrón;
COMO: nombre del operador
patrón: Valor exacto extraído del patrón para obtener datos relacionados en el conjunto de resultados.
La consulta requerida es:
SELECT * FROM Employees WHERE EmpName like 'A%' ;>
Puedes consultar este artículo. Dónde cláusula para obtener más detalles sobre el operador LIKE.
35. ¿Cuál es la diferencia entre clave primaria y restricciones únicas?
La clave principal no puede tener valores NULL, las restricciones únicas pueden tener valores NULL. Sólo hay una clave principal en una tabla, pero puede haber varias restricciones únicas. La clave principal crea el índice agrupado automáticamente, pero la clave única no.
36. ¿Qué es una unión en SQL? ¿Cuáles son los tipos de uniones?
Una declaración SQL Join se utiliza para combinar datos o filas de dos o más tablas en función de un campo común entre ellas. Los diferentes tipos de uniones son:
- UNIR INTERNAMENTE : La palabra clave INNER JOIN selecciona todas las filas de ambas tablas siempre que se cumpla la condición. Esta palabra clave creará el conjunto de resultados combinando todas las filas de ambas tablas donde se cumple la condición, es decir, el valor del campo común será el mismo.
- UNIRSE A LA IZQUIERDA : esta combinación devuelve todas las filas de la tabla en el lado izquierdo de la combinación y las filas coincidentes de la tabla en el lado derecho de la combinación. Para las filas para las cuales no hay ninguna fila coincidente en el lado derecho, el conjunto de resultados será nulo. LA UNIÓN IZQUIERDA también se conoce como UNIÓN EXTERNA IZQUIERDA
- ÚNETE DERECHO : UNIRSE DERECHA es similar a UNIRSE IZQUIERDA. Esta combinación devuelve todas las filas de la tabla en el lado derecho de la combinación y las filas coincidentes de la tabla en el lado izquierdo de la combinación. Para las filas para las cuales no hay ninguna fila coincidente en el lado izquierdo, el conjunto de resultados contendrá nulo. LA UNIÓN DERECHA también se conoce como UNIÓN EXTERIOR DERECHA.
- ÚNETE COMPLETO : FULL JOIN crea el conjunto de resultados combinando los resultados de LEFT JOIN y RIGHT JOIN. El conjunto de resultados contendrá todas las filas de ambas tablas. Para las filas para las que no hay coincidencias, el conjunto de resultados contendrá valores NULL.
37. ¿Qué es un índice?
Un índice de base de datos es una estructura de datos que mejora la velocidad de las operaciones de recuperación de datos en una tabla de base de datos a costa de escrituras adicionales y el uso de más espacio de almacenamiento para mantener la copia adicional de datos. Los datos solo se pueden almacenar en un orden en un disco. Para admitir un acceso más rápido según diferentes valores, se desea una búsqueda más rápida, como una búsqueda binaria, de diferentes valores. Para ello se crean índices en las tablas. Estos índices necesitan espacio adicional en el disco, pero permiten una búsqueda más rápida según diferentes valores buscados con frecuencia.
38. ¿Cuál es la restricción en cascada al eliminar?
En MySQL se utiliza una restricción 'ON DELETE CASCADE' para eliminar las filas de la tabla secundaria automáticamente cuando se eliminan las filas de la tabla principal. Para más detalles, por favor lea MySQL: al eliminar la restricción en cascada artículo.
39. ¿Explicar la cláusula CON en SQL?
La cláusula with proporciona una manera de definir una relación temporal cuya definición está disponible sólo para la consulta en la que aparece la cláusula with. SQL aplica predicados en la cláusula CON después de que se hayan formado los grupos, por lo que se pueden usar funciones agregadas.
40. ¿Cuáles son los diferentes atributos de los índices?
La indexación tiene varios atributos:
- Tipos de acceso : Esto se refiere al tipo de acceso, como búsqueda basada en valores, acceso por rango, etc.
- Tiempo de acceso : Se refiere al tiempo necesario para encontrar un elemento de datos o un conjunto de elementos en particular.
- Tiempo de inserción : Se refiere al tiempo que se tarda en encontrar el espacio adecuado e insertar nuevos datos.
- Hora de eliminación : Se necesita tiempo para encontrar un elemento y eliminarlo, así como para actualizar la estructura del índice.
- Espacio aéreo : Se refiere al espacio adicional que requiere el índice.
41. ¿Qué es un cursor?
El cursor es una Memoria Temporal o Estación de Trabajo Temporal. Lo asigna el servidor de base de datos en el momento en que el usuario realiza operaciones DML en la tabla. Los cursores se utilizan para almacenar tablas de bases de datos.
42. ¿Escribir varios tipos de relaciones en SQL?
Existen varias relaciones, a saber:
- Relación uno a uno.
- Relaciones de uno a muchos.
- Relación de muchos a uno.
- Relación de autorreferencia.
43. ¿Qué es un desencadenante?
El gatillo Es una declaración que un sistema ejecuta automáticamente cuando hay alguna modificación en la base de datos. En un disparador, primero especificamos cuándo se ejecutará el disparador y luego la acción que se realizará cuando se ejecute el disparador. Los activadores se utilizan para especificar ciertas restricciones de integridad y restricciones referenciales que no se pueden especificar mediante el mecanismo de restricciones de SQL.
44. ¿Cuál es la diferencia entre los comandos SQL DELETE y SQL TRUNCATE?
| BORRAR SQL | TRUNCAR SQL |
|---|---|
| La declaración DELETE elimina las filas una a la vez y registra una entrada en el registro de transacciones para cada fila eliminada. | TRUNCATE TABLE elimina los datos desasignando las páginas de datos utilizadas para almacenar los datos de la tabla y registra solo las desasignaciones de páginas en el registro de transacciones. |
| El comando DELETE es más lento que el comando IdentityTRUNCATE. | Mientras que el comando TRUNCATE es más rápido que el comando DELETE. |
| Para usar Eliminar necesita el permiso ELIMINAR en la tabla. | Para usar Truncar en una tabla necesitamos al menos el permiso ALTER en la tabla. |
| La identidad de la columna conserva la identidad después de usar la instrucción DELETE en la tabla. | La identidad de la columna se restablece a su valor inicial si la tabla contiene una columna de identidad. |
| La eliminación se puede utilizar con vistas indexadas. | Truncar no se puede utilizar con vistas indexadas. |
45. ¿Cuál es la diferencia entre el índice cluster y el no cluster?
| ÍNDICE AGRUPADO | ÍNDICE NO AGRUPADO |
|---|---|
| El índice agrupado es más rápido. | El índice no agrupado es más lento. |
| El índice agrupado requiere menos memoria para las operaciones. | El índice no agrupado requiere más memoria para las operaciones. |
| En un índice agrupado, el índice son los datos principales. | En el índice no agrupado, el índice es una copia de los datos. |
| Una tabla sólo puede tener un índice agrupado. | Una tabla puede tener varios índices no agrupados. |
| El índice agrupado tiene una capacidad inherente para almacenar datos en el disco. | El índice no agrupado no tiene la capacidad inherente de almacenar datos en el disco. |
| Los índices agrupados almacenan punteros para bloquear, no datos. | El índice no agrupado almacena tanto el valor como un puntero a la fila real que contiene los datos. |
| En el índice agrupado, los nodos de hoja son datos reales en sí mismos. | En un índice no agrupado, los nodos hoja no son los datos reales en sí, sino que solo contienen columnas incluidas. |
| En el índice agrupado, la clave agrupada define el orden de los datos dentro de la tabla. | En el índice no agrupado, la clave de índice define el orden de los datos dentro del índice. |
| Un índice agrupado es un tipo de índice en el que los registros de la tabla se reordenan físicamente para que coincidan con el índice. | Un índice no agrupado es un tipo especial de índice en el que el orden lógico del índice no coincide con el orden físico almacenado de las filas en el disco. |
Para obtener más detalles, consulte Diferencia entre el índice agrupado y el índice no agrupado artículo.
46. ¿Qué es un bloqueo activo?
bloqueo vivo Ocurre cuando dos o más procesos repiten continuamente la misma interacción en respuesta a cambios en los otros procesos sin realizar ningún trabajo útil. Estos procesos no están en estado de espera y se ejecutan simultáneamente. Esto es diferente de un punto muerto porque en un punto muerto todos los procesos están en estado de espera.
47. ¿Qué es el caso CUANDO en SQL?
Las declaraciones de control forman una parte importante de la mayoría de los lenguajes ya que controlan la ejecución de otros conjuntos de declaraciones. Estos también se encuentran en SQL y deben explotarse para usos como el filtrado de consultas y la optimización de consultas mediante una selección cuidadosa de tuplas que coincidan con nuestros requisitos. En esta publicación, exploramos la declaración Case-Switch en SQL. La declaración CASE es la forma en que SQL maneja la lógica si/entonces.
Sintaxis 1:
CASO valor_caso CUANDO valor_cuándo ENTONCES lista_instrucciones [CUANDO valor_cuando ENTONCES lista_instrucciones] … [ELSE lista_instrucciones]END CASO
Sintaxis 2:
CASO CUANDO condición_búsqueda ENTONCES lista_instrucciones [CUANDO condición_búsqueda ENTONCES lista_instrucciones] … [ELSE lista_instrucciones]END CASO
Para obtener más detalles, lea el SQL | Declaración del caso artículo.
Preguntas y respuestas de la entrevista SQL avanzada
48. Nombra diferentes tipos de funciones de manipulación de casos disponibles en SQL.
Hay tres tipos de funciones de manipulación de casos disponibles en SQL. Ellos son,
- MÁS BAJO : El propósito de esta función es devolver la cadena en minúsculas. Toma una cadena como argumento y devuelve la cadena convirtiéndola a minúsculas.
Sintaxis:
INFERIOR('cadena')
- SUPERIOR : El propósito de esta función es devolver la cadena en mayúsculas. Toma una cadena como argumento y la devuelve convirtiéndola a mayúsculas.
Sintaxis:
SUPERIOR('cadena')
- INITCAP : El propósito de esta función es devolver la cadena con la primera letra en mayúscula y el resto de letras en minúscula.
Sintaxis:
INITCAP('cadena')
49. ¿Qué son las variables locales y globales y sus diferencias?
Variable global: Por el contrario, las variables globales son variables que se definen fuera de funciones. Estas variables tienen alcance global, por lo que pueden ser utilizadas por cualquier función sin pasarlas a la función como parámetros.
Variable local: Las variables locales son variables que se definen dentro de funciones. Tienen alcance local, lo que significa que sólo se pueden utilizar dentro de las funciones que los definen.
50. ¿Nombra la función que se utiliza para eliminar espacios al final de una cadena?
En SQL, los espacios al final de la cadena se eliminan mediante una función de recorte.
Sintaxis:
Recorte(s), Donde s es cualquier cadena.
51. ¿Cuál es la diferencia entre las declaraciones TRUNCATE y DROP?
| caída de SQL | TRUNCAR |
|---|---|
| El comando DROP se utiliza para eliminar la definición de la tabla y su contenido. | Mientras que el comando TRUNCATE se utiliza para eliminar todas las filas de la tabla. |
| En el comando DROP, el espacio de la tabla se libera de la memoria. | Mientras que el comando TRUNCATE no libera el espacio de la tabla de la memoria. |
| DROP es un comando DDL (lenguaje de definición de datos). | Mientras que TRUNCATE también es un comando DDL (lenguaje de definición de datos). |
| En el comando DROP, no existe una vista de la tabla. | Mientras está en este comando, existe una vista de la tabla. |
| En el comando DROP, se eliminarán las restricciones de integridad. | Mientras esté en este comando, las restricciones de integridad no se eliminarán. |
| En el comando DROP, no se utiliza el espacio para deshacer. | En este comando, se utiliza espacio para deshacer, pero menos que ELIMINAR. |
| El comando DROP es rápido de ejecutar pero genera complicaciones. | Si bien este comando es más rápido que DROP. |
Para obtener más detalles, lea la Diferencia entre SOLTAR y TRUNCAR en el SQL artículo.
52. ¿Qué operador se utiliza en consultas de coincidencia de patrones?
Operador LIKE: se utiliza para recuperar datos filtrados buscando un patrón particular en la cláusula donde.
Sintaxis:
SELECCIONE columna1, columna2 DESDE nombre_tabla DONDE nombre_columna COMO patrón;
ME GUSTA: nombre del operador
53. ¿Definir el orden SQL mediante la declaración?
La instrucción ORDER BY en SQL se utiliza para ordenar los datos recuperados de forma ascendente o descendente según una o más columnas.
- Por defecto ORDER BY ordena los datos en orden ascendente.
- Podemos usar la palabra clave DESC para ordenar los datos en orden descendente y la palabra clave ASC para ordenar los datos en orden ascendente.
Para más detalles por favor lea SQL | ORDENAR POR artículo.
54. Explique SQL Tener declaración?
HAVING se usa para especificar una condición para un grupo o una función agregada utilizada en la declaración de selección. La cláusula WHERE selecciona antes de agrupar. La cláusula HAVING selecciona filas después de agruparlas. A diferencia de la cláusula HAVING, la cláusula WHERE no puede contener funciones agregadas. Ver ¿Cláusula Tener versus Dónde?
55. ¿Explique la declaración SQL Y O con un ejemplo?
En SQL, los operadores AND y OR se utilizan para filtrar los datos y obtener resultados precisos según las condiciones. Los operadores AND y OR se utilizan con la cláusula WHERE.
Estos dos operadores son llamados operadores conjuntivos .
- Y Operador: Este operador muestra sólo aquellos registros donde ambas condiciones la condición 1 y la condición 2 se evalúan como Verdaderas.
- O Operador: Este operador muestra los registros donde cualquiera de las condiciones condición 1 y condición 2 se evalúa como Verdadera. Eso es, La condición1 es Verdadera o la condición2 es Verdadera.
Para más detalles por favor lea el SQL | Y y O Artículo de operadores.
56. ¿Definir declaraciones ENTRE en SQL?
La condición SQL ENTRE le permite probar fácilmente si una expresión está dentro de un rango de valores (inclusive). Los valores pueden ser texto, fecha o números. Se puede utilizar en una instrucción SELECT, INSERT, UPDATE o DELETE. La condición SQL ENTRE devolverá los registros donde la expresión esté dentro del rango de valor1 y valor2.
Para más detalles por favor lea SQL | Operador entre y yo artículo.
57. ¿Por qué utilizamos los comandos Confirmar y Revertir?
| COMPROMETERSE | RETROCEDER |
|---|---|
| COMMIT guarda permanentemente los cambios realizados por la transacción actual. | ROLLBACK deshace los cambios realizados por la transacción actual. |
| La transacción no puede deshacer los cambios después de la ejecución de COMMIT. | La transacción alcanza su estado anterior después de ROLLBACK. |
| Cuando la transacción es exitosa, se aplica COMMIT. | Cuando se cancela la transacción, se produce ROLLBACK. |
Para más detalles por favor lea el Diferencia entre confirmar y revertir en SQL artículo.
58. ¿Cuáles son las propiedades del ÁCIDO?
A transacción Es una única unidad lógica de trabajo que accede y posiblemente modifica el contenido de una base de datos. Las transacciones acceden a los datos mediante operaciones de lectura y escritura. Para mantener la coherencia en una base de datos, antes y después de la transacción, se siguen ciertas propiedades. estos se llaman ÁCIDO propiedades. ÁCIDO (Atomicidad, Consistencia, Aislamiento, Durabilidad) es un conjunto de propiedades que garantizan que las transacciones de la base de datos se procesen de manera confiable. Para más detalles por favor lea Propiedades ácidas en el SGBD artículo.
59. ¿Los valores NULL son lo mismo que cero o un espacio en blanco?
En SQL, un cero o espacio en blanco se puede comparar con otro cero o espacio en blanco. mientras que un nulo puede no ser igual a otro nulo. nulo significa que es posible que no se proporcionen datos o que no haya datos.
60. ¿Cuál es la necesidad de funciones de grupo en SQL?
En la gestión de bases de datos, las funciones de grupo, también conocidas como funciones agregadas, son funciones en las que los valores de varias filas se agrupan como entrada según ciertos criterios para formar un valor único de significado más significativo.
Varias funciones de grupo
1) Count() 2) Sum() 3) Avg() 4) Min() 5) Max()>
Para más detalles por favor lea el Funciones agregadas en SQL. artículo.
61. ¿Cuál es la necesidad de una declaración MERGE?
El UNIR El comando en SQL es en realidad una combinación de tres declaraciones SQL: INSERTAR, ACTUALIZAR y ELIMINAR . En palabras simples, la declaración MERGE en SQL proporciona una manera conveniente de realizar estas tres operaciones juntas, lo que puede resultar muy útil cuando se trata de manejar grandes bases de datos en ejecución. Pero a diferencia de las declaraciones INSERT, UPDATE y DELETE, la declaración MERGE requiere una tabla de origen para realizar estas operaciones en la tabla requerida, que se denomina tabla de destino. Para más detalles por favor lea el SQL | Declaración de fusión artículo.
62. ¿Cómo se pueden recuperar registros comunes de dos tablas?
La siguiente declaración podría usarse para obtener datos de varias tablas, por lo que debemos usar join para obtener datos de varias tablas.
Sintaxis:
SELECCIONE tablenmae1.colunmname, tablename2.columnnmae
DE tablenmae1
ÚNETE a nombre de tabla2
ON tablenmae1.colunmnam = tablename2.columnnmae
ORDENAR POR nombre de columna;
Para obtener más detalles y ejemplos, lea SQL | SELECCIONE datos de varias tablas artículo.
63. ¿Cuáles son las ventajas de las funciones PL/SQL?
Las ventajas de las funciones PL/SQL son las siguientes:
- Podemos realizar una única llamada a la base de datos para ejecutar un bloque de declaraciones. Por lo tanto, mejora el rendimiento al ejecutar SQL varias veces. Esto reducirá la cantidad de llamadas entre la base de datos y la aplicación.
- Podemos dividir el trabajo general en pequeños módulos, lo que se vuelve bastante manejable, mejorando también la legibilidad del código.
- Promueve la reutilización.
- Es seguro ya que el código permanece dentro de la base de datos, ocultando así los detalles internos de la base de datos a la aplicación (usuario). El usuario sólo realiza una llamada a las funciones PL/SQL. Por tanto, se garantiza la seguridad y la ocultación de datos.
64. ¿Cuál es la consulta SQL para mostrar la fecha actual?
CURRENT_DATE vuelve a la fecha actual. Esta función devuelve el mismo valor si se ejecuta más de una vez en una sola declaración, lo que significa que el valor es fijo, incluso si hay una gran demora entre la búsqueda de filas en un cursor.
Sintaxis:
FECHA ACTUAL
o
FECHA ACTUAL
65. ¿Qué son los activadores anidados?
Un disparador también puede contener lógica INSERT, UPDATE y DELETE dentro de sí mismo, por lo que cuando el disparador se activa debido a una modificación de datos, también puede causar otra modificación de datos, activando así otro disparador. Un disparador que contiene lógica de modificación de datos dentro de sí mismo se denomina disparador anidado.
66. ¿Cómo encontrar la información de restricciones disponible en la tabla?
En SQL Server el Diccionario de datos es un conjunto de tablas de bases de datos que se utilizan para almacenar información sobre la definición de una base de datos. Se pueden utilizar estos diccionarios de datos para comprobar las restricciones de una tabla ya existente y cambiarlas (si es posible). Para más detalles por favor lea SQL | Comprobando la restricción existente en una mesa artículo.
67. ¿Cómo evitamos obtener entradas duplicadas en una consulta sin utilizar la palabra clave distinta?
DISTINCT es útil en determinadas circunstancias, pero tiene el inconveniente de que puede aumentar la carga en el motor de consultas para realizar la clasificación (ya que necesita comparar el conjunto de resultados consigo mismo para eliminar duplicados). Podemos eliminar entradas duplicadas usando las siguientes opciones:
- Elimine duplicados utilizando números de fila.
- Elimine duplicados mediante la autounión.
- Elimine duplicados usando agrupar por.
Para más detalles, por favor lea SQL | Eliminar duplicados sin distinción artículos.
68. ¿La diferencia entre las funciones NVL y NVL2?
Estas funciones funcionan con cualquier tipo de datos y se refieren al uso de valores nulos en la lista de expresiones. Todos estos son de una sola fila. funciones, es decir, proporcionar un resultado por fila.
NVL(expr1, expr2): En SQL, NVL() convierte un valor nulo en un valor real. Los tipos de datos que se pueden utilizar son fecha, carácter y número. Los tipos de datos deben coincidir entre sí. es decir, expr1 y expr2 deben ser del mismo tipo de datos.
Sintaxis:
NVL (expr1, expr2)
NVL2(expr1, expr2, expr3): La función NVL2 examina la primera expresión. Si la primera expresión no es nula, la función NVL2 devuelve la segunda expresión. Si la primera expresión es nula, se devuelve la tercera expresión, es decir, si expr1 no es nula, NVL2 devuelve expr2. Si expr1 es nulo, NVL2 devuelve expr3. El argumento expr1 puede tener cualquier tipo de datos.
Sintaxis:
NVL2 (expr1, expr2, expr3)
Para más detalles por favor lea Funciones generales de SQL | NVL, NVL2, DECODIFICAR, FUSIONAR, NULLIF, LNNVL , y NANVL artículo.
69. ¿Cuál es la diferencia entre COALESCE() e ISNULL()?
JUNTARSE(): La función COALESCE en SQL devuelve la primera expresión no NULL entre sus argumentos. Si todas las expresiones se evalúan como nulas, entonces la función COALESCE devolverá nulo.
Sintaxis:
SELECCIONE columna(s), CAOLESCE(expresión_1,….,expresión_n)FROM nombre_tabla;
ES NULO(): La función ISNULL tiene diferentes usos en SQL Server y MySQL. En SQL Server, la función ISNULL() se utiliza para reemplazar valores NULL.
Sintaxis:
SELECCIONE la(s) columna(s), ISNULL(nombre_columna, valor_a_reemplazar)FROM nombre_tabla;
Para obtener más detalles, lea el SQL | funciones nulas artículo.
70. ¿Nombre el operador que se utiliza en la consulta para agregar dos cadenas?
En SQL para agregar dos cadenas, se usa el operador Concentración y su símbolo es || .
Conclusión
En conclusión, dominar las preguntas de la entrevista SQL es crucial para los analistas de datos, ingenieros de datos y analistas de negocios que buscan sobresalir en sus respectivos campos. Este artículo proporciona un conjunto completo de preguntas y respuestas de la entrevista SQL diseñadas para prepararlo a fondo.
Al comprender y practicar estas preguntas, mejorará su capacidad para abordar de manera efectiva los desafíos planteados en las entrevistas relacionadas con SQL y, en última instancia, allanará el camino para una carrera exitosa en el manejo y análisis de datos. Recuerde, cada pregunta es una oportunidad para demostrar su destreza analítica y experiencia técnica, rasgos esenciales para cualquier aspirante a profesional en estos roles críticos.