2013-06-19 4 views
0

Мне нужно использовать только для использования естественного соединения он не работает в sql-сервере ,,, я должен выбрать EmpName, EmpDOB и EMPDOB из таблицы сотрудников и просто DEPTID из таблицы отделов.Natural Присоединиться к связанной таблице

SELECT  DEPARTMENT.DEPTID, EMPLOYEE.EmpID, EMPLOYEE.EMPName, EMPLOYEE.EMPDOB 
FROM   DEPARTMENT NATURAL JOIN 
         EMPLOYEE ON DEPARTMENT.DEPTID = EMPLOYEE.DEPTID 
+3

Подсказка: естественное соединение не требует указания столбцов, используемых в соединении. –

+0

Зачем использовать Natural Join? Похоже, что Inner Join будет делать то же самое и является обычным видом соединения. – Brad

+0

Я делаю домашнее задание, поэтому я должен использовать естественное соединение .. Я застрял, я пробовал много – user2393171

ответ

0

Когда вы используете знак '=', это просто нормальное equi-join (явное), в то время как естественное соединение предикаты вычисляются механизмом запроса (неявным). http://en.wikipedia.org/wiki/Join_(SQL)#Natural_join

+0

Да, это будет работать так же легко, но, похоже, для целей задания он должен использовать естественное соединение. –

+0

Я пробовал и это, и это дает синтаксическую ошибку рядом с отделом SELECT * ОТ сотрудника отдела NATURAL JOIN; – user2393171

3

Если вы должны использовать NATURAL JOIN, попробуйте следующее:

SELECT D.DEPTID, E.EmpID, E.EMPName, E.EMPDOB 
FROM DEPARTMENT D NATURAL JOIN EMPLOYEE E 

пока имена столбцов DEPTID являются одинаковыми на обеих таблицах. NATURAL JOIN Не нужно указывать, к каким полям присоединяться, он определяет это самостоятельно.

Вот большая ссылка на NATURAL JOIN: http://www.w3resource.com/sql/joins/natural-join.php

Естественная Регистрация не будет работать в SQL-сервере, хотя, только в MySQL.

+0

Я делаю домашнее задание..я должен использовать Natural join ..please helpp – user2393171

+0

, он дает синтаксис error – user2393171

+0

Какая синтаксическая ошибка вы получаете? –

3

SQL-Server не реализован NATURAL JOIN.

Если вы хотите поэкспериментировать с его использованием, попробуйте Oracle или Postgres или MySQL. Вы также можете использовать SQLfiddle.com, если вам не разрешено устанавливать их.

Смежные вопросы