Prueba SQL
1. Menciona las diferentes cláusulas que se pueden utilizar en SQL
SELECT, FROM, WHERE, CREATE, ALTER, DROP, GROUP BY
2. Escribe los JOINS que se utilizan en SQL y sus usos
- INNER JOIN: permite coincidir las filas entre las dos tablas especificadas
- LEFT JOIN: prioriza la tabla de la izquierda, excluyendo los datos de la tabla de la
derecha, pero permitiendo usar los datos entre las 2 tablas
- RIGHT JOIN: misma función del LEFT JOIN, pero en esta se prioriza la tabla de la
derecha
- FULL JOIN: muestra todas las filas de ambas tablas, sin importar que no existan
coincidencias
3. Escribe la sentencia que usarías para crear una tabla, una inserción y una vista en SQL
o PL/SQL
Crear tabla de RegistroEmpleados:
CREATE TABLE RegistroEmpleados (
id INT PRIMARY KEY,
nombre VARCHAR(30),
apellidoPaterno VARCHAR(30),
edad INT,
correoElectronico VARCHAR(40),
);
Crear una inserción:
INSERT INTO RegistroEmpleados (nombre, apellidoPaterno, edad, correoElectronico) VALUES
(‘Jefferson’, ‘Ventura’, 23, ‘jvruiz62@[Link]’);
Crear una vista:
CREATE VIEW EmpleadosActivos AS SELECT id, nombre, apellidoPaterno, edad FROM
RegistroEmpleados WHERE edad < 35;
4. Escribe una sentencia que contenga un condicional de filtro, agrupación e indicando
solo aquellos que aparecen más de 3 veces en la tabla.
5. Detallar el uso del NVL, UPPER y GRANT y escribir un ejemplo para los 3 casos
NVL: Evita el uso de NULL en los campos vacíos
SELECT nombre, NVL(correoElectronico, ‘SIN CORREO’) AS correoElectronico FROM
RegistroEmpleados;
UPPER: Convierte la cadena de texto en mayúsculas.
SELECT * FROM RegistroEmpleados WHERE UPPER(nombre) = UPPER(‘jefferson’)
GRANT: Otorga permisos a los usuarios existentes para usar DELETE, UPDATE, INSERT, etc.
GRANT INSERT, DELETE ON RegistroEmpleados TO usuario01;
6. Diferencia entre DROP y TRUNCATE y escribir un ejemplo para ambos casos
DROP: sentencia para eliminar o “dropear” una tabla, columna, o hasta una base de datos
DROP TABLE RegistroEmpleados;
TRUNCATE: Elimina los registros de la tabla pero no afecta a la estructura de esta
TRUNCATE TABLE RegistroEmpleados;
7. Para que utilizamos el índice en SQL
Se usa el índice (INDEX) para poder realizar una búsqueda de datos más rápida y eficiente.
8. Sentencia para agregar una columna a una tabla
ALTER TABLE RegistroEmpleados ADD COLUMN ingreso DATE;
9. Que sentencia utilizarías para obtener un dato aleatorio
10. Detalla la sentencia a utilizar para obtener el primer registro en una lista de registros
que tiene datos duplicados.
SELECT DISTINC * FROM RegistroEmpleados LIMIT 1;
11. Escribe la consulta SQL que evita la duplicidad de registros
SELECT DISTINCT apellido FROM RegistroEmpleados;
12. ¿Cuál es la sentencia correcta sobre el truncate?
a. TRUNCATE TABLE, borra la tabla de la base de datos
b. TRUNCATE TABLE es funcionalmente igual a DELETE TABLE
c. TRUNCATE TABLE debe ser usado con la cláusula WHERE
d. N/A
13. ¿Cómo actualizar el valor de un campo o registro usando como condición el comando
"WHERE"?
UPDATE RegistroEmpleados SET edad = 24 WHERE nombre = ‘Jefferson’;
14. Ejercicio. Se tiene una tabla BASE1 tiene 2 columnas, APELLIDO y CALIFICACION. Como
se obtiene el apellido y la calificación de los 3 mejores estudiantes.
SELECT * FROM (
SELECT APELLIDO, CALIFICACION, ROW_NUMBER() OVER (ORDER BY CALIFICACION
DESC) AS ranking FROM BASE1
) AS subconsulta
WHERE ranking <= 3;
15. Seleccione la sentencia correcta:
A) SELECT NOMBRE, CANTIDAD FROM PAGO A WHERE EXISTS (SELECT * FROM
DETALLE B WHERE [Link] = [Link])
B) SELECT NOMBRE, CANTIDAD FROM PAGO A WHERE EXISTS (SELECT NOMBRE FROM
DETALLE B WHERE [Link] = [Link])
C) SELECT DISTINCT NOMBRE FROM BASE_GENERAL GROUP BY NOMBRE;
D) SELECT NOMBRE, CANTIDAD FROM PAGO A WHERE EXISTS (SELECT NULL FROM
DETALLE B WHERE [Link] = [Link])
16. Como revocas accesos a una tabla compartida en un esquema A.
REVOKE ALL PRIVILEGES ON [Link] FROM user01;
17. ¿Cuál consideras es la mejor manera de realizar un análisis? Detallar pasos previos,
resultados y conclusiones.
Pasos para un mejor análisis
1. Tener objetivo definido y claro del análisis (qué es lo que se busca)
2. Obtención de los datos (recopilación y limpieza)
3. Ordenación de los datos
4. Análisis de la información
5. Interpretación de los resultados
6. Mejorar el proceso
Una forma de optimizar el proceso de análisis es la limpieza de datos automática, es decir, la
eliminación de datos que sobrepasen los límites normales que se tienen en la data. Esto nos
ayudaría a reducir tiempos y trabajar más en el análisis buscado en la data.