SQL質疑応答スレ 9問目

このエントリーをはてなブックマークに追加
745NAME IS NULL
<社員テーブル>
社員番号,名前,ランク,部署コード
-------------------------------
1,鈴木一郎,A,01
2,鈴木二郎,A,01
3,鈴木三郎,B,01
4,鈴木四郎,A,02
5,鈴木五郎,A,03

↑の社員テーブルから、
同じ部署にBランクの社員がいないレコードを
取得したいです。

<結果>
社員番号,名前,ランク,部署コード
-------------------------------
4,鈴木四郎,A,02
5,鈴木五郎,A,03


SELECT *
FROM 社員テーブル
WHERE
部署コード IN(
SELECT 部署コード
FROM 社員テーブル
WHERE ランク= 'B'
GROUP BY 部署コード);

これで一応、データは取れるのですが、
サブクエリを使わずに取れる方法で良い案があれば教えてください。