FROM таблица1 [псевдоним1], таблица2 [псевдоним2], …
[WHERE условие_соединения]
[ORDER BY {столбец | псевдоним | позиция} [ASC | DESC];
Для корректного построения многотабличного запроса необходимо задать условие соединения таблиц (реляционная операция «Соединение»). Условие соединения указывается в предложении WHERE. Перед именами столбцов в списке SELECT рекомендуется указывать имена соответствующих таблиц. Имя таблицы отделяется точкой от имени столбца. Это правило носит рекомендательный характер в том случае, если имена столбцов, перечисленных в списке SELECT, уникальны (имеются только в одной таблице). Если Вы запрашиваете столбцы с одинаковыми именами из разных таблиц, обязательно указывайте имена таблиц перед именами столбцов.
SQL> SELECT deptno, dname, deptno, ename
2 FROM dept, emp
3 WHERE deptno=deptno;
WHERE deptno=deptno
*
ERROR at line 3:
ORA-00918: column ambiguously defined
SQL> SELECT dept.deptno, dname, emp.deptno, ename
2 FROM dept, emp
3 WHERE dept.deptno=emp.deptno;
DEPTNO DNAME DEPTNO ENAME
--------- -------------- --------- ----------
10 ACCOUNTING 10 CLARK
10 ACCOUNTING 10 KING
10 ACCOUNTING 10 MILLER
20 RESEARCH 20 SMITH
20 RESEARCH 20 ADAMS
20 RESEARCH 20 FORD
20 RESEARCH 20 SCOTT
20 RESEARCH 20 JONES
30 SALES 30 ALLEN
30 SALES 30 BLAKE
30 SALES 30 MARTIN
30 SALES 30 JAMES
30 SALES 30 TURNER
30 SALES 30 WARD
14 rows selected.