2012-03-21 4 views
1

Есть 2 таблицы, доступныеSQL подзапросов и присоединяется

EMP(empname PK, empno, sal, comm, deptno, hiredate, job, mgr) 

DEPT(depnto, dname, loc) 

Запросы являются

а) отображение ENAME и DNAME, кто зарабатывает на первую самую высокую зарплату

Они дали заявление этой должно выполняться только с помощью подзапросов и Join

Так что я начал вот так:

select A.ename, B.dname from emp A, dept B where A.deptno=B.deptno 

и я попробовал различные завивка & гребень, но я не мог получить заявление присоединиться ...

Это не проблема домашних заданий, я просто пытаюсь решить проблему упражнения, приведенные в моем учебнике. . Заранее спасибо

+0

'Учебник exercises' должен быть псевдонимом' homework' :) –

+0

ОК, так что, если этот вопрос был найти максимальную зарплату - можете ли вы написать SQL для этого? Можете ли вы затем использовать это для запроса по зарплате, то есть можете ли вы написать запрос, чтобы найти имя и отдел для данной зарплаты? (Кстати, то, что вы написали, является объединением старого стиля.) – Rup

+0

Используете ли вы очень старый учебник? Ваш существующий запрос использует синтаксис неявного соединения, но учебник, написанный за последние двадцать лет, действительно должен использовать синтаксис явного соединения ANSI-92 (если только он не был написан для RDBMS, который не поддерживал этот синтаксис). –

ответ

1

Чтобы получить рекорд с максимальной зарплатой, у меня есть Ordered bye.sal DESC. Это будет заказывать записи с точки зрения зарплаты, с наивысшим в верхней части (DESC = Спуск и, следовательно, самый высокий).

Затем я использовал TOP 1, чтобы вернуть только 1 запись.

Чтобы получить dname Я joined таблицы, связывающие 2 deptno колонны.

SELECT TOP 1 e.empname 
      ,d.dname 
FROM [EMP] e 
JOIN [DEPT] d ON d.deptno=e.deptno 
ORDER BY e.sal DESC 

Я надеюсь, что это помогает

0

Вы можете попробовать следующий запрос:

SELECT emp.ename,dept.dname FROM emp 
     JOIN dept ON emp.deptno=dept.deptno 
     WHERE emp.sal=(SELECT MAX(sal) FROM emp) 
Смежные вопросы