У меня проблема с Order By в SQL - PullRequest
0 голосов
/ 21 апреля 2020

У меня возникла эта проблема при попытке получить данные из двух таблиц.

DEPT Table

enter image description here

EMP Table

enter image description here

Я хочу использовать этот запрос

SELECT EMP.ENAME, DEPT.LOC, EMP.SAL
FROM EMP, DEPT
order by DEPT.DEPTNO;

, но он создает данные со всеми местоположениями в таблице DEPT

ДАННЫЕ

enter image description here

1 Ответ

2 голосов
/ 21 апреля 2020

В основном ваш запрос делает CROSS JOIN, который создает все возможные комбинации двух таблиц. Так как таблица DEPT имеет 4 строки, а таблица EMP имеет 11 строк, то в результате будет получено всего 44 строки.

Вместо этого вы должны сделать это

SELECT 
    e.ENAME, 
    d.LOC, 
    e.SAL
FROM EMP e
JOIN DEPT d
on e.DEPTNO = d.DEPTNO
order by d.DEPTNO;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...