Consider the table employee(empId, name, department, salary) and the two queries Q1 ,Q2 below. Assuming that department 5 has more than one employee, and we want to find the employees who get higher salary than anyone in the department 5, which one of the statements is TRUE for any arbitrary employee table?
Q1 :
Select e.empId
From employee e
Where not exists
(Select * From employee s where s.department = “5” and
s.salary >=e.salary)
Q2
Select e.empId
From employee e
Where e.salary > Any
(Select distinct salary From employee s Where s.department = “5”)
(A) Q1 is the correct query
(B) Q2 is the correct query
(C) Both Q1 and Q2 produce the same answer.
(D) Neither Q1 nor Q2 is the correct query
My work:- I am stuck at the word "anyone". If by anyone it means that all employees of department 5 than Q1 is correct,but if by anyone it means "any" (at least one) then Q2 is correct.We have a function is SQl named as "any" and that function says at least one should satisfy condition.So i am relating anyone to that function.Please help in understanding it correctly