1

私は初心者ですが、これについてどうすればよいかわかりません..誰かが私を助けてくれますか?

次の表が与えられた...

デパートメント

DEPT_ID     NAME 
1   HR 
2   Technical 
3   Marketing 
4   Sales 

従業員

ID  NAME    DEPT_ID     SALARY  MANAGER_ID 
1   Alex    2   2000    
2   Sally   1   2000    
3   Amit    2   1500    1 
4   Jason   1   1500    1 
...     ...     ...     ...     ... 

DEPARTMENT以前のテーブルとテーブルを使用してEMPLOYEE、SQLクエリを記述し、各部門で働いている従業員の数を出力します。出力は次のようになります。

NAME    COUNT 
HR  2 
Technical   2 
Marketing   0 
Sales   0 

まだすべての部署に人員が配置されているわけではないため、一部の部署には人員がいない場合がありますのでご注意ください。これらの部門をゼロカウントで結果に表示する必要があります。

前の表を使用してEMPLOYEE、SQLクエリを記述し、各マネージャーの下で働いている従業員の数を出力します。出力は次のようになります。

NAME    COUNT 
Alex    2 
Sally   0 
4

3 に答える 3

1

テーブルを結合し、部門ごとにグループ化し、部門ごとの行数を取得する必要があります。
このリンクを試す

于 2012-04-27T19:58:23.593 に答える
0

これを試してみてください:

a)

 select d.Name as DepartmentName, count(e.id) as EmployeeCount from employee as e, department as d where e.DEPT_ID = d.DEPT_ID group by d.Name;

b)

select a.name as Manager_Name,Count(a.name) as EmployeeCount from employee a, employee b where a.id=b.MANAGER_ID  group by a.name;
于 2016-06-24T12:25:40.067 に答える