2017-04-01 13 views
0

このSQLに関する質問については、インタビュー中に尋ねられました。同じ部門にいるテーブルの名前を調べるsql


考えると、Employeeテーブル

LastName DepartmentID 
Rafferty 31 
Jones  33 
Heisenberg 33 
Robinson 34 
Smith  34 
Daniel  34 
Williams NULL 

とDepartmentテーブル

DepartmentID DepartmentName 
31    Sales 
33    Engineering 
34    Clerical 
35    Marketing 

どのように私は 'ロビンソン' と同じ部署である従業員のすべてを見つけることができますか? (一般的な方法で)

彼が私にして欲しいものは何ですか?

+0

'IN'、' JOIN'、 'EXISTS'、' = '。 。 。これを表現する方法はたくさんあります。 –

答えて

1

あなたはINを使用することができます。

select * 
from employee 
where departmentId in (
     select departmentId 
     from employee 
     where LastName = 'Robinson' 
     ); 

JOINを使用する:

select e.* 
from employee e 
join (
    select distinct departmentId 
    from employee 
    where LastName = 'Robinson' 
    ) e2 on e1.departmentId = e2.departmentId; 
+0

ありがとう!本当にそれを感謝します! –

関連する問題