Используя следующий вопрос, не могли бы вы объяснить мне, в чем разница между двумя SQL-запросами и почему они не дают одинаковых результатов?
Отображать фамилию, название отдела и зарплату любого сотрудника, чья зарплата и комиссионные соответствуют зарплате и комиссионным любого сотрудника, расположенного в местоположении ID1700.
SELECT E.LAST_NAME, D.DEPARTMENT_NAME, E.SALARY
FROM EMPLOYEES E
JOIN DEPARTMENTS D
ON (E.DEPARTMENT_ID =D.DEPARTMENT_ID)
WHERE E.SALARY IN (SELECT SALARY
FROM EMPLOYEES
WHERE D.LOCATION_ID = 1700) AND
E.COMMISSION_PCT IN (SELECT COMMISSION_PCT
FROM EMPLOYEES
WHERE D.LOCATION_ID = 1700);
(0 выходов)
а также
SELECT e.last_name, d.department_name, e.salary
FROM employees e,
departments d
WHERE e.department_id = d.department_id AND
(salary, NVL(commission_pct,0)) IN (SELECT salary,
NVL(commission_pct,0)
FROM employees e,
departments d
WHERE e.department_id = d.department_id AND
d.location_id = 1700);
(36 выходов)
HR
, включены в EBS. - person mathguy   schedule 13.12.2016