Причина в том, что в вашем запросе отсутствуют критерии JOIN для связи двух таблиц, поэтому результатом будет декартово произведение.Каждая запись EMP
будет иметь копию каждой строки в таблице DEPT
...
В вашем запросе используется синтаксис объединения ANSI-89, который требует, чтобы критерии были указаны в предложении WHERE
:
SELECT e.empno, e.ename, e.job, e.sal, d.dname, d.loc
FROM EMP e,
DEPT d
WHERE d.deptno = e.deptno
AND e.ename = 'SMITH'
Но было бы предпочтительнее использовать формат ANSI-92:
SELECT e.empno, e.ename, e.job, e.sal, d.dname, d.loc
FROM EMP e
JOIN DEPT d ON d.deptno = e.deptno
WHERE e.ename = 'SMITH'