この質問では、この特定の会社で、部下のすべてのスタッフよりも最近採用されたマネージャーをすべて見つけるように求めています。st_name は個人の名前、st_hiredate は雇用された日付、st_possition はマネージャー、アシスタント、またはスーパーバイザーの場合です。
以下のクエリを実行すると、比較に必要なすべてのタプルを正しく取得できますが、それを実行して、すべてのジュニア スタッフの後に採用されたすべてのマネージャーのタプルを生成することはできません。
スタッフ メンバーの名前のすべてのインスタンスが、雇用日が下級スタッフの前であるすべてのインスタンスと同じではない場合、その名前を返さないという使用できる条件はありますか?
SELECT a.st_name, a.st_hiredate, b.st_name, b.st_hiredate
FROM (SELECT st_name, st_hiredate, st_position FROM staff WHERE st_position = 'assistant' OR st_position = 'Supervisor') as b JOIN (SELECT st_name, st_hiredate, st_position FROM staff WHERE st_position = 'manager') as a;
スタッフは 17 名で、そのうち 6 名が管理職、11 名が管理職ではありません。上記のクエリを実行すると、66 個のタプルが返されます。これは、各マネージャーを各部下と正確に比較していることを意味します。では、それが他のすべての部下のスタッフよりも優れているに違いないとどのように述べればよいでしょうか?