Está en la página 1de 3

1.

Los tipos de literales que existen en Oracle son los siguientes:


 Cadena: son datos de tipo texto, ejemplo  Hola Mundo
 Fechas: son datos en formato fecha y hora, ejemplo04-05-2023
 Numérico: son datos de numérico enteros o decimales, ejemplo  12345, 24,5
 Booleanos: son datos de lógica, ejemplo falso o verdadero

2. Para validar los siguientes valores se puede seleccionar la tabla dual con los valores anteriores:

SELECT INTERVAL '3 4:37' DAY TO MINUTE AS intervalo1,


INTERVAL '0 25:30' MINUTE TO SECOND AS intervalo2,
INTERVAL '10-11' YEAR TO MONTH AS intervalo3,
INTERVAL '4' MONTH AS intervalo4
FROM DUAL;

3. La diferencia entre las dos sentencias es que la primera sentencia SELECT COUNT(campo1)
FROM TABLA_X; cuenta el número total de filas en la tabla TABLA_X, sin determinar que los
datos del campo1 son semejantes.
La segunda sentencia SELECT COUNT(DISTINCT campo1) FROM TABLA_X; cuenta el número de
datos únicos en el campo1.

4. Las siguientes dos consultas se pueden usar para mostrar los costos únicos de promoción en
cada categoría que esta en promoción:

A) SELECT DISTINCT promo_cost, promo_category FROM promotions ORDER BY 2;


B) SELECT DISTINCT promo_category, promo_cost FROM promotions ORDER BY 1;

5. ALTER SESSION SET NLS_DATE_FORMAT = 'DD-YYYY-MON';


Para validar el cambio usamos la sentencia SYSDATE,
SELECT SYSDATE FROM DUAL;

El resultado es el siguiente  08-2023-APR

para generar la fecha 18 de enero de 2006 utilizamos la función TO_DATE:


SELECT TO_DATE('18-JAN-2006', 'DD-MON-YYYY') FROM DUAL;

El resultado es  18-2006-JAN

6. Se puede corregir de la siguiente manera:


SELECT 'This employee ' || EMP_ID || ' doesn''t speak English'
FROM EMP_LANGUAGES
WHERE ENGLISH_LANG IS NULL;
Se uso doble apóstrofe para indicar que no era fin de la cadena de texto, se corrigió la
gramática del don’t y se uso doesn’t para especificar el que es tercera persona en
concordancia con el employee

7. Las siguientes afirmaciones sobre el operador INTERSECT son:

A) Falso. INTERSECT no ignora los nulos, de hecho, los nulos son tratados como valores
distintos entre sí.
B) Verdadero. El orden de intersección de las tablas puede afectar el resultado de salida.
C) Falso. El número de columnas en cada SELECT debe ser igual para poder usar INTERSECT.
D) Verdadero. El resultado de INTERSECT consiste en el conjunto de filas que son comunes en
cada conjunto.
E) Falso. Los nombres de las columnas en cada SELECT deben ser iguales para poder usar
INTERSECT

8. Verdadero. UNION ALL conserva los valores repetidos, lo que significa que si hay filas
duplicadas en ambos conjuntos de datos, se mostrarán en el resultado final

9. La respuesta correcta es la D. El operador MINUS es utilizado para mostrar los resultados de


una tabla que no se encuentran en otra tabla. En este caso, puede ser utilizado para mostrar
los registros de la tabla SALES1 que no tienen coincidencia en la tabla SALES2.

10. La respuesta es Falso. La consulta SELECT 'ok' FROM DUAL WHERE SYSDATE = CURRENT_DATE
arrojará un registro solo si la fecha y hora actuales coinciden exactamente con la fecha y hora
almacenadas en SYSDATE y CURRENT_DATE, respectivamente.

11. La distinción entre SYSDATE y CURRENT_TIMESTAMP radica en que SYSDATE devuelve la fecha
y hora actual del sistema en el formato predeterminado, mientras que CURRENT_TIMESTAMP
devuelve la fecha y hora actual en el formato especificado en la sesión actual.

Una vez que la sesión ha sido modificada con ALTER SESSION SET NLS_DATE_FORMAT = 'DD-
MON-YYYY HH24:MI:SS', la consulta SELECT SYSDATE, CURRENT_TIMESTAMP FROM DUAL;
mostrará el resultado en el formato especificado, como por ejemplo:
25-MAR-2023 11:23:45 25-MAR-2023 11:23:45
Ambas funciones, SYSDATE y CURRENT_TIMESTAMP, retornan la fecha y hora actual del
sistema, con la diferencia de que ahora se mostrarán en el formato establecido en la sesión.

12. La función TRUNC en Oracle permite redondear un número a un número específico de


decimales. Por ejemplo, si se ejecuta TRUNC(123.4567, 2), el resultado será 123.45, donde el
número se ha truncado a dos decimales después del punto decimal
13. La afirmación verdadera es a) Ambas sentencias ejecutan y dan resultados diferentes.

14. El resultado de la ejecución de la consulta select -7 b, 78.99 h, 7e3 x, 4167d, 2 * '8,1'f, 4.5 * 2
from dual; genera error, ya que las expresiones no son válidas en Oracle.

15. En Oracle, una CTE (Common Table Expression) es una expresión de tabla temporal que se
define dentro de una consulta y se utiliza para simplificar la escritura de consultas complejas.
Una CTE en Oracle permite referenciar la misma expresión de tabla múltiples veces dentro de
una consulta principal, lo que mejora la legibilidad y la reutilización del código.
aquí un ejemplo

WITH Empleados_CTE AS (
SELECT emp_id, emp_nombre, emp_salario
FROM empleados
WHERE emp_departamento = 'Ventas'
)
SELECT emp_id, emp_nombre, emp_salario
FROM Empleados_CTE
WHERE emp_salario > 5000;

También podría gustarte