Используя следующий вопрос, пожалуйста, объясните мне, в чем разница между двумя 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 выходов)
В какой базе данных вы фактически используете? Я предполагаю, что Oracle, и я также предполагаю, что это проблема домашних заданий. –
Да, Oracle DB. Im пытается выяснить, почему 0 выходов один не работает. (я сам это написал). Решение вопроса состоит из 36 выходов. Я не знаю, почему тип SQL i неправильный, выглядит корректно для меня, но, по-видимому, не основан на результатах. –
Добавьте некоторые данные таблицы образцов и текущие два результата. (Также форматированный текст.) Также покажите нам желаемый результат. – jarlh