x
select employee_id, first_name, job_id, salary
from employees where salary < ( select SALARY
FROM EMPLOYEES
WHERE JOB_ID='IT_PROG');
and I found an error like the following :
ORA-01427: single-row subquery returns more than one row
Advertisement
Answer
Looks like there are “many” employees whose job_id = 'IT_PROG'
. In that case, subquery returns “many rows” and your query results in an error.
It depends on what you want to do in such a case; for example, you might want to return rows for employees whose salary is lower than minimum salary for IT_PROG
, so that would be
SELECT employee_id,
first_name,
job_id,
salary
FROM employees
WHERE salary < (SELECT MIN (SALARY) --> note MIN function here
FROM EMPLOYEES
WHERE JOB_ID = 'IT_PROG');