Está en la página 1de 17

Section 6

(Responder todas las preguntas de esta sección)


1. Necesita unir todas las filas de la tabla EMPLOYEES a todas las filas de
la tabla EMP_REFERENCE. ¿Qué tipo de unión debería crear?
Marcar para Revisión

(1) Puntos
Unión igualitaria
Unión cruzada (*)
Unión interna
Unión externa completa
Incorrecto. Consulte la sección 6 de la lección 1.

2. Una cláusula NATURAL JOIN se basa en:


Marcar para Revisión

(1) Puntos
Tablas con la misma estructura
Columnas con el mismo nombre
Columnas con el mismo nombre y tipo de dato (*)
Columnas con el mismo tipo de dato y ancho
Correcto

3. La columna de unión se debe incluir en la sentencia select al utilizar la


cláusula NATURAL JOIN. ¿Verdadero o falso?
Marcar para Revisión

(1) Puntos
VERDADERO
FALSO (*)
Correcto

4. Las consultas jerárquicas DEBEN utilizar la pseudocolumna LEVEL.


¿Verdadero o falso?
Marcar para Revisión

(1) Puntos
VERDADERO
FALSO (*)
Correcto

5. ¿Qué sentencia SELECT implanta una autounión?


Marcar para Revisión

(1) Puntos
SELECT worker.employee_id, manager.manager_id
FROM employees worker JOIN employees manager
ON manager.employee_id = worker.manager_id; (*)
SELECT worker.employee_id, manager.manager_id
FROM employees worker JOIN managers manager
ON worker.employee_id = manager.manager_id;
SELECT worker.employee_id, manager.manager_id
FROM employees worker JOIN departments manager
ON worker.employee_id = manager.manager_id;
SELECT worker.employee_id, manager.manager_id
FROM employees worker
NATURAL JOIN employees manager;
Correcto
6. Evalúe esta sentencia SELECT:
SELECT *
FROM employee worker JOIN employee manager
ON worker.mgr_id = manager.emp_id;
¿Qué tipo de unión se crea mediante esta sentencia SELECT?

Marcar para Revisión

(1) Puntos
una unión cruzada
una autounión (*)
una unión externa completa
una unión externa izquierda
Correcto

7. ¿Cuál de los siguientes conceptos de diseño de la base de datos


necesita en las tablas para escribir consultas jerárquicas?
Marcar para Revisión
(1) Puntos
Arco
Relación recursiva (*)
No transferibilidad
Supertipo
Correcto

8. Las consultas jerárquicas pueden tener un sentido hacia abajo o hacia


arriba. ¿Verdadero o falso?
Marcar para Revisión

(1) Puntos
VERDADERO (*)
FALSO
Correcto

9. ¿Para qué condición utilizaría una consulta de unión igualitaria con la


palabra clave USING?
Marcar para Revisión

(1) Puntos
Debe realizar una unión de las tablas CUSTOMER y ORDER, pero limitar
el número de columnas de la condición de unión. (*)
Las tablas CUSTOMER y ORDER tienen una columna correspondiente,
CUST_ID. La columna CUST_ID de la tabla ORDER contiene valores null
que se deben mostrar.
La tabla ORDER contiene una columna que tiene una restricción
referencial a una columna de la tabla PRODUCT.
Las tablas CUSTOMER y ORDER no tienen columnas con nombres
idénticos.
Incorrecto. Consulte la sección 6 de la lección 2.

10. Evalúe esta sentencia SELECT:


SELECT patient.lname || ', ' || patient.fname as "Patient",
physician.lname || ', ' || physician.fname as "Physician", c.admission
FROM patient
JOIN physician
ON (physician.physician_id = admission.physician_id)
JOIN admission
ON (patient.patient_id = admission.patient_id);

¿Qué cláusula genera un error?

Marcar para Revisión

(1) Puntos
JOIN physician b
ON (b.physician_id = c.physician_id); (*)
JOIN admission c
ON (a.patient_id = c.patient_id)
Incorrecto. Consulte la sección 6 de la lección 2.
11. Busque a continuación las estructuras de las tablas PRODUCTS y
VENDORS:
PRODUCTS
PRODUCT_ID NUMBER
PRODUCT_NAME VARCHAR2 (25)
VENDOR_ID NUMBER
CATEGORY_ID NUMBER

VENDORS
VENDOR_ID NUMBER
VENDOR_NAME VARCHAR2 (25)
ADDRESS VARCHAR2 (30)
CITY VARCHAR2 (25)
REGION VARCHAR2 (10)
POSTAL_CODE VARCHAR2 (11)

Desea crear una consulta que devuelva una lista alfabética de


productos, incluyendo el nombre del producto y el nombre del proveedor
asociado para todos los productos que tengan un proveedor asignado.

¿Qué dos consultas podría utilizar?

Marcar para Revisión

(1) Puntos
SELECT p.product_name, v.vendor_name
FROM products p
JOIN vendors v
USING (p.vendor_id)
ORDER BY p.product_name;
SELECT p.product_name, v.vendor_name
FROM products p
JOIN vendors v
ON (vendor_id)
ORDER BY p.product_name;

SELECT p.product_name, v.vendor_name


FROM products p
NATURAL JOIN vendors v
ORDER BY p.product_name;

(*)

SELECT p.product_name, v.vendor_name


FROM products p
LEFT OUTER JOIN vendors v
ON p.vendor_id = v.vendor_id
ORDER BY p.product_name;

SELECT p.product_name, v.vendor_name


FROM products p
JOIN vendors v
USING (vendor_id)
ORDER BY p.product_name;

(*)

Incorrecto. Consulte la sección 6 de la lección 2.

12. ¿Para cuál de las siguientes tablas se recuperarán todos los valores,
incluso aunque no haya ninguna coincidencia en la otra?
SELECT employees.last_name, employees.department_id,
departments.department_name
FROM employees
LEFT OUTER JOIN departments
ON (employees.department_id = departments.department_id);

Marcar para Revisión

(1) Puntos
Ninguna de las dos. LEFT OUTER JOIN limita el valor a los ID de
departamentos coincidentes.
Ambas
department
employees (*)
Incorrecto. Consulte la sección 6 de la lección 3.

13. ¿Qué tipos de uniones devolverán los valores no coincidentes de


ambas tablas en la unión?
Marcar para Revisión

(1) Puntos
Uniones naturales
Uniones externas izquierdas
Uniones externas completas (*)
Uniones externas derechas
Incorrecto. Consulte la sección 6 de la lección 3.

14. ¿Con qué dos juegos de palabras clave de unión se crea una unión
que incluirá filas sin correspondencia de la primera tabla especificada en
la sentencia SELECT?
Marcar para Revisión

(1) Puntos
OUTER JOIN y USING
RIGHT OUTER JOIN y LEFT OUTER JOIN
LEFT OUTER JOIN y FULL OUTER JOIN (*)
USING y HAVING
Incorrecto. Consulte la sección 6 de la lección 3.

15. ¿Qué consulta recuperará todas las filas de la tabla EMPLOYEES,


incluso aunque no haya ninguna coincidencia en la tabla DEPARTMENTS?
Marcar para Revisión

(1) Puntos
SELECT employees.last_name, employees.department_id,
departments.department_name
FROM employees
RIGHT OUTER JOIN departments ON (employees.department_id =
departments.department_id);

SELECT employees.last_name, employees.department_id,


departments.department_name
FROM employees
LEFT OUTER JOIN departments ON (employees.department_id =
departments.department_id);

(*)

SELECT employees.last_name, employees.department_id,


departments.department_name
FROM employees
JOIN departments USING (employees.department_id =
departments.department_id);

SELECT employees.last_name, employees.department_id,


departments.department_name
FROM employees
NATURAL JOIN departments;

Incorrecto. Consulte la sección 6 de la lección 3.


Section 6
(Responder todas las preguntas de esta sección)
1. Una cláusula NATURAL JOIN se basa en:
Marcar para Revisión

(1) Puntos
Tablas con la misma estructura
Columnas con el mismo nombre y tipo de dato (*)
Columnas con el mismo nombre
Columnas con el mismo tipo de dato y ancho
Correcto

2. Necesita unir todas las filas de la tabla EMPLOYEES a todas las filas de
la tabla EMP_REFERENCE. ¿Qué tipo de unión debería crear?
Marcar para Revisión

(1) Puntos
Unión cruzada (*)
Unión igualitaria
Unión externa completa
Unión interna
Correcto

3. La columna de unión se debe incluir en la sentencia select al utilizar la


cláusula NATURAL JOIN. ¿Verdadero o falso?
Marcar para Revisión

(1) Puntos
VERDADERO
FALSO (*)
Correcto
4. Busque a continuación las estructuras de las tablas PRODUCTS y
VENDORS:
PRODUCTS
PRODUCT_ID NUMBER
PRODUCT_NAME VARCHAR2 (25)
VENDOR_ID NUMBER
CATEGORY_ID NUMBER

VENDORS
VENDOR_ID NUMBER
VENDOR_NAME VARCHAR2 (25)
ADDRESS VARCHAR2 (30)
CITY VARCHAR2 (25)
REGION VARCHAR2 (10)
POSTAL_CODE VARCHAR2 (11)

Desea crear una consulta que devuelva una lista alfabética de


productos, incluyendo el nombre del producto y el nombre del proveedor
asociado para todos los productos que tengan un proveedor asignado.

¿Qué dos consultas podría utilizar?

Marcar para Revisión

(1) Puntos
SELECT p.product_name, v.vendor_name
FROM products p
JOIN vendors v
USING (p.vendor_id)
ORDER BY p.product_name;

SELECT p.product_name, v.vendor_name


FROM products p
LEFT OUTER JOIN vendors v
ON p.vendor_id = v.vendor_id
ORDER BY p.product_name;

SELECT p.product_name, v.vendor_name


FROM products p
JOIN vendors v
ON (vendor_id)
ORDER BY p.product_name;
SELECT p.product_name, v.vendor_name
FROM products p
JOIN vendors v
USING (vendor_id)
ORDER BY p.product_name;

(*)

SELECT p.product_name, v.vendor_name


FROM products p
NATURAL JOIN vendors v
ORDER BY p.product_name;

(*)

Correcto

5. ¿Con qué palabra clave de una sentencia SELECT se crea una unión
igualitaria especificando un nombre de columna común a ambas tablas?
Marcar para Revisión

(1) Puntos
Una cláusula HAVING
Cláusula FROM
La cláusula SELECT
Una cláusula USING (*)
Correcto
6. Las palabras clave JOIN _____________ se debería utilizar para unir
tablas con los mismos nombres de columnas, pero distintos tipos de
dato.
Marcar para Revisión

(1) Puntos
OVER
NATURAL ON
USING (*)
WHEN
Correcto
7. ¿Qué sentencia SELECT implanta una autounión?
Marcar para Revisión

(1) Puntos
SELECT item.part_id, type.product_id
FROM part item JOIN part type
ON item.part_id = type.product_id; (*)
SELECT item.part_id, type.product_id
FROM part item JOIN product type
ON item.part_id = type.product_id;
SELECT item.part_id, type.product_id
FROM part item JOIN product type
ON item.part_id = type.product_id (+);
SELECT item.part_id, type.product_id
FROM part item JOIN product type
ON item.part_id =! type.product_id;
Incorrecto. Consulte la sección 6 de la lección 4.

8. Las consultas jerárquicas DEBEN utilizar la pseudocolumna LEVEL.


¿Verdadero o falso?
Marcar para Revisión

(1) Puntos
VERDADERO
FALSO (*)
Correcto

9. ¿Qué afirmación es verdadera sobre una autounión?


Marcar para Revisión

(1) Puntos
Se debe implantar una autounión mediante la definición de una vista.
Los alias de tablas se deben utilizar para cualificar los nombres de
tabla. (*)
Los alias de tablas no se pueden utilizar para cualificar los nombres de
tabla.
Se debe utilizar la cláusula NATURAL JOIN.
Correcto
10. Las consultas jerárquicas pueden tener un sentido hacia abajo o
hacia arriba. ¿Verdadero o falso?
Marcar para Revisión

(1) Puntos
VERDADERO (*)
FALSO
Correcto
11. Evalúe esta sentencia SELECT:
SELECT *
FROM employee worker JOIN employee manager
ON worker.mgr_id = manager.emp_id;
¿Qué tipo de unión se crea mediante esta sentencia SELECT?

Marcar para Revisión

(1) Puntos
una unión externa izquierda
una autounión (*)
una unión cruzada
una unión externa completa
Correcto

12. Tabla EMPLOYEES:


Name Null? Type
NOT
EMPLOYEE_ID NUMBER(6)
NULL
FIRST_NAME VARCHAR2(20)
NOT
LAST_NAME VARCHAR2(25)
NULL
DEPARTMENT_ID NUMBER (4)
Tabla DEPARTMENTS:

Name Null? Type


NOT
DEPARTMENT_ID NUMBER 4
NULL
NOT
DEPARTMENT_NAME VARCHAR2(30)
NULL
MANAGER_ID NUMBER (6)
Es necesario que una consulta muestre cada departamento y el nombre
de su jefe de las tablas anteriores. Sin embargo, no todos los
departamentos tienen un jefe, pero deseamos que se devuelvan los
departamentos en todos los casos. ¿Con cuál de los siguientes scripts de
sintaxis SQL: 1999 se realizará la tarea?

Marcar para Revisión

(1) Puntos
SELECT departments.department_id, employees.first_name,
employees.last_name
FROM employees
RIGHT OUTER JOIN departments
ON (employees.employee_id = departments.manager_id); (*)
SELECT departments.department_id, employees.first_name,
employees.last_name
FROM employees
FULL OUTER JOIN departments
ON (employees.employee_id = departments.manager_id);
SELECT departments.department_id, employees.first_name,
employees.last_name
FROM employees
LEFT OUTER JOIN departments
WHERE (employees.department_id = departments.department_id);
SELECT departments.department_id, employees.first_name,
employees.last_name
FROM employees, departments
WHERE employees.employee_id
RIGHT OUTER JOIN departments.manager_id;
Incorrecto. Consulte la sección 6 de la lección 3.

13. Debe unir las tablas EMPLOYEE_HIST y EMPLOYEES. La tabla


EMPLOYEE_HIST será la primera tabla en la cláusula FROM. Todas las filas
coincidentes y no coincidentes en la tabla EMPLOYEES se tienen que
mostrar. ¿Qué tipo de unión utilizará?
Marcar para Revisión

(1) Puntos
Una unión cruzada
Una unión interna
Una unión externa izquierda
Una unión externa derecha (*)
Correcto
14. ¿Qué consulta recuperará todas las filas de la tabla EMPLOYEES,
incluso aunque no haya ninguna coincidencia en la tabla DEPARTMENTS?
Marcar para Revisión

(1) Puntos
SELECT employees.last_name, employees.department_id,
departments.department_name
FROM employees
RIGHT OUTER JOIN departments ON (employees.department_id =
departments.department_id);

SELECT employees.last_name, employees.department_id,


departments.department_name
FROM employees
JOIN departments USING (employees.department_id =
departments.department_id);

SELECT employees.last_name, employees.department_id,


departments.department_name
FROM employees
LEFT OUTER JOIN departments ON (employees.department_id =
departments.department_id);

(*)

SELECT employees.last_name, employees.department_id,


departments.department_name
FROM employees
NATURAL JOIN departments;

Correcto

15. Dadas las siguientes descripciones de las tablas employees y jobs,


¿cuál de los siguientes scripts mostrarán los salarios mínimo y máximo
posibles del empleado según su cargo?
Tabla EMPLOYEES:
Name Null? Type
NOT
EMPLOYEE_ID NUMBER (6)
NULL
FIRST_NAME VARCHAR2 (20)
NOT
LAST_NAME VARCHAR2 (25)
NULL
NOT
EMAIL VARCHAR2 (25)
NULL
PHONE_NUMBER VARCHAR2 (20)
NOT
HIRE_DATE DATE
NULL
NOT
JOB_ID VARCHAR2 (10)
NULL
SALARY NUMBER (8,2)
COMMISSION_PC
NUMBER (2,2)
T
MANAGER_ID NUMBER (6)
DEPARTMENT_ID NUMBER (4)
Tabla JOBS:

Name Null? Type


NOT
JOB_ID VARCHAR2 (10)
NULL
NOT
JOB_TITLE VARCHAR2 (35)
NULL
MIN_SALARY NUMBER (6)
MAX_SALAR
NUMBER (6)
Y

Marcar para Revisión

(1) Puntos
SELECT first_name, last_name, job_id, min_salary, max_salary
FROM employees
NATURAL JOIN jobs; (*)
SELECT employees.first_name, employees.last_name, employees.job_id,
jobs.min_salary, jobs.max_salary
FROM employees
NATURAL JOIN jobs ON (employees.job_title = jobs.job_title);
SELECT employees.first_name, employees.last_name, employees.job_id,
jobs.min_salary, jobs.max_salary
FROM employees
NATURAL JOIN jobs
USING (job_id);
SELECT first_name, last_name, job_id, min_salary, max_salary
FROM employees
FULL JOIN jobs j (job_id);
SELECT employees.first_name, employees.last_name, employees.job_id,
jobs.min_salary, jobs.max_salary
FROM employees
NATURAL JOIN jobs;
Incorrecto. Consulte la sección 6 de la lección 3.

También podría gustarte