EMPLOYEES Name Null? Type —————– —– —–…

View the exhibit and examine the structures of the EMPLOYEES and DEPARTMENTS tables.
EMPLOYEES
Name Null? Type
—————– —– ————-
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(10,2)COMMISSION NUMBER(6,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
DEPARTMENTS
Name Null? Type
—————– —– ————-
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
You want to update EMPLOYEES table as follows:
Update only those employees who work in Boston or Seattle (locations 2900 and 2700).
Set department_id for these employees to the department_id corresponding to London (location_id
2100).
Set the employees’ salary in location_id 2100 to 1.1 times the average salary of their department.
Set the employees’ commission in location_id 2100 to 1.5 times the average commission of their
department.
You issue the following command:
SQL> UPDATE employees
SET department_id =
(SELECT department_id
FROM departments
WHERE location_id = 2100),
(salary, commission) =
(SELECT 1.1*AVG(salary), 1.5*AVG(commission)
FROM employees, departments
WHERE departments.location_id IN(2900, 2700, 2100))
WHERE department_id IN
(SELECT department_id
FROM departments
WHERE location_id = 2900
OR location_id = 2700;
What is outcome?

View the exhibit and examine the structures of the EMPLOYEES and DEPARTMENTS tables.
EMPLOYEES
Name Null? Type
—————– —– ————-
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(10,2)COMMISSION NUMBER(6,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
DEPARTMENTS
Name Null? Type
—————– —– ————-
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
You want to update EMPLOYEES table as follows:
Update only those employees who work in Boston or Seattle (locations 2900 and 2700).
Set department_id for these employees to the department_id corresponding to London (location_id
2100).
Set the employees’ salary in location_id 2100 to 1.1 times the average salary of their department.
Set the employees’ commission in location_id 2100 to 1.5 times the average commission of their
department.
You issue the following command:
SQL> UPDATE employees
SET department_id =
(SELECT department_id
FROM departments
WHERE location_id = 2100),
(salary, commission) =
(SELECT 1.1*AVG(salary), 1.5*AVG(commission)
FROM employees, departments
WHERE departments.location_id IN(2900, 2700, 2100))
WHERE department_id IN
(SELECT department_id
FROM departments
WHERE location_id = 2900
OR location_id = 2700;
What is outcome?

A.
It generates an error because multiple columns (SALARY, COMMISSION) cannot be specified together in
an UPDATE statement.

B.
It generates an error because a subquery cannot have a join condition in a UPDATE statement.

C.
It executes successfully and gives the correct result.

D.
It executes successfully but does not give the correct result.



Leave a Reply 2

Your email address will not be published. Required fields are marked *


Gustavo Sardenberg

Gustavo Sardenberg

I don’t understand this question.
Could someone explain where the error is?

pipolo

pipolo

the query updates salary and commission with a subquery that is a cross join (between department and employeee without condition departments.location_id = employee.location_id ) with the condition departments.location_id IN(2900, 2700, 2100).
The request was: Set the employees’ salary in location_id 2100 to 1.1 times the average salary of their department (only for location_id 2100)