Cuestionario básico de SQL para entrevistas

Las siguientes preguntas forman parte de una entrevista modelo a Testers que se verán involucrados en pruebas sobre base de datos SQL o pruebas de caja gris.

P. Cómo se seleccionan todos los registros de la tabla?
R. Select * from table_name;

P. A qué se denomina Join?
R. Join is el proceso de recuperar ciertos datos de diferentes tablas y devolverlas al usuario o al programa como una colección de datos.
Básicamente entonces, permite cruzar dos o más tablas y se clasifica en:

INNER JOIN
LEFT JOIN
RIGHT JOIN
CROSS JOIN

Igualmente decir JOIN se interpreta como INNER JOIN porque por default poner INNER JOIN o JOIN es lo mismo.

P. Cómo agregar registros a una tabla?
R. INSERT into table_name VALUES (‘ALEX’, 33 , ‘M’);

P. Cómo agregar columnas a una tabla?
ALTER TABLE Department ADD (AGE, NUMBER);

ó

ALTER TABLE table_name ADD column_name datatype

P. Cómo cambiar el valor del campo?
R. UPDATE EMP_table set number = 200 where item_munber = ‘CD’;
update name_table set status = ‘enable’ where phone = ‘4161112222’;
update SERVICE_table set REQUEST_DATE = to_date (‘2006-03-04 09:29’, ‘yyyy-mm-dd hh24:MM’) where phone = ‘4161112222’;
Puede o no usarse el WHERE, todo depende si se necesita impactar en todos los registros o no… va con un ejemplo:

La manera es así:

UPTDATE table_name
Set = campo

Ahora se puede usar el WHERE para condicionar que sólo se updateen ciertos campos y no todos… siempre depende de lo que se necesite hacer… pero es común que
solo sea quizás un solo campo y por eso se condiciona con el WHERE

P. Qué significa hacer COMMIT?
R. Salvar todos los cambios realizados por las sentencias de tipo DML
Suele ponerse así y se usa mucho en los SP o Procedures largos que van acumulando info y se requiere que vaya cortando
GO
COMMIT
GO

P. Qué es una «primary key» o clave principal o primaria?
R. La columna (columnas) que tiene datos completamente únicos a lo largo de la tabla.

P. Qué son las «foreign keys» o claves externas o foránea?
R. Las claves externas son campos que vinculan una tabla con la clave primaria o externa de otra tabla.

P. Cuál es la función principal de una clave primaria en una tabla?
R. El papel principal de una clave primaria en una tabla de datos es mantener la integridad interna en la tabla.

P. Puede una tabla tener más de una clave externa o foránea definida?
R. Una tabla puede tener cualquier número de claves externas definidas, y solo puede tener una sola clave primaria definida.

P. Listar todos los posibles valores que se pueden almacenar en un campo de datos de tipo BOOLEAN.
R. Sólo hay dos valores que se pueden almacenar en un campo de datos de tipo BOOLEAN, 1 (TRUE) y 0 (FALSE).

P. Cuál es el valor más alto que se puede almacenar en un campo de datos de tipo BYTE?
R. El valor más alto que se puede almacenar es 255 ó de -128 a 127.
El Byte es un conjunto de bits que representa un solo caracter.
Por lo general, hay 8 bits en un byte, a veces más, dependiendo de cómo se realiza la medición.
Cada Char requiere un byte de la memoria y puede tener un valor de 0 a 255 (o 0 a 11111111 en binario)

P. Describir cómo trabajan los valore NULL en SQL?
R. El NULL es cómo SQL maneja valores perdidos. Una operación matemática con NULL en SQL devolverá un NULL
También, a veces los NULL sirven cuando se hace un LEFT y trae todos los datos iguales en las tablas A y B y además trae NULL.
Por ejemplo, si se tiene la tabla artículos y la tabla ventas, y se necesitan conocer los artículos que no están a la venta… se puede hacer un LEFT y usar esos
campos NULL que serían los que no están a la venta (es una alternativa que muchos usan)

P. Qué es la Normalización?
R. Es el proceso de diseño de tabla.

P. Qué es un Trigger?
R. Un Trigger ejecuta un bloque de código de procedimientos contra la base de datos cuando se produce un evento en la tabla. Define un conjunto de acciones que
se realizan en respuesta a una operación de Insert, Update o Delete en una tabla específica.

P. Se puede seleccionar una colección aleatoria (random) de filas de una tabla?
R. Si, usando la cláusula SAMPLE. Ejemplo:
SELECT * FROM EMPLOYEES SAMPLE(10);
Se devolverá el 10% de las filas seleccionadas al azar.

P. Escribir una consulta SELECT que sólo devuelva la ciudad por cada Alumno de la tabla Students. Necesitará ordenar esta lista con una cláusula ORDER BY?
R. SELECT DISTINCT City FROM Students;
En este caso no se usa el ORDER BY porque solo se quieren las ciudades sin repetirlas y además porque se pide ordenar

P. Qué es DML y DDL?
R. DML y DDL son subconjuntos de SQL.
DML significa Lenguaje de Manipulación de Datos y DDL, Data Definition Language.
DML consiste en INSERT, UPDATE and DELETE
DDL contiene
CREATE TABLE, ALTER TABLE, DROP TABLE, RENAME TABLE, CREATE INDEX, ALTER INDEX, DROP INDEX.
CREATE/ALTER/DROP VIEW

P. Escribir una consulta SELECT que devuelva el nombre y apellido de cada Instructor, el salario y de cada uno de ellos, un número.
R. SELECT FirstName, LastName, Salary, ROWNUM FROM Instructors;

P. Debe la cláusula WHERE aparecer siempre antes de la cláusula GROUP BY en una consulta SELECT?
R. Si. El orden correcto para las cláusulas de consulta SQL SELECT es: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY.
Sólo el SELECT y FROM son obligatorios.

P. Cuál de las siguientes afirmaciones son comandos DML?
INSERT
UPDATE
GRANT
TRUNCATE
CREATE
R. El INSERT y UPDATE son comandos (DML).
GRANT es un comando Data Control Language (DCL).
TRUNCATE y CREATE son comandos Data Definition Language (DDL).

P. Cuál es la diferencia entre los comandos TRUNCATE, DELETE y DROP?
R. El comando :
DELETE se utiliza para eliminar algunas o todas las filas de una tabla.
TRUNCATE elimina todas las filas de una tabla.
DROP elimina una tabla de la base de datos. También se elimina las filas, los índices y los privilegios de todas las tablas.

Estos conocimientos y otros son vistos en el curso de SQL para Testers.
+ info en: https://testingbaires.com/cursos-y-novedades-4/testing-con-sql/

Gus Terrera

Apasionado por el agile testing y la ia.

Esta entrada tiene 2 comentarios

  1. Ligia

    podrias enviarme este documento en formato doc. Gracias.

    1. admin

      Sorry Ligia, no lo tengo en ese formato porque lo fuí escribiendo directamente como artículo.
      Estoy preparando parte II y III, un poco más complicado.
      Besos y gracias por seguirnos.

Deja una respuesta