View the Exhibit and examine the structure of EMPLOYEES and JOB_HISTORY tables.
The EMPLOYEES table maintains the most recent information regarding salary,
department, and job for all the employees. The JOB_HISTORY table maintains the record
for all the job changes for the employees. You want to delete all the records from the
JOB_HISTORY table that are repeated in the EMPLOYEES table. Which two SQL
statements can you execute to accomplish the task? (Choose two.)
A.
DELETE FROM job_history j WHERE (employee_id, job_id) = (SELECT employee_id,
job_id FROM employees e WHERE j.employee_id = e.employee_id and j.job_id = e.job_id)
B.
DELETE FROM job_history j WHERE employee_id = (SELECT employee_id FROM
employees e WHERE j.employee_id = e.employee_id) AND job_id = (SELECT job_id
FROM employees e WHERE j.job_id = e.job_id);
C.
DELETE FROM job_history j WHERE (employee_id, job_id) = ALL (SELECT
employee_id, job_id FROM employees e WHERE j.employee_id = e.employee_id and
j.job_id = e.job_id)
D.
DELETE FROM job_history j WHERE employee_id = (SELECT employee_id FROM
employees e WHERE j.employee_id = e.employee_id and j.job_id = e.job_id)
the answer should be AC
D is wrong.As it can delete other records not in de job_history table.
C can not be the answer because “If a subquery returns zero rows, the condition evaluates to TRUE”