SELECT
c.班級名稱,
t.老師姓名,
COUNT(s.學號) AS 學生人數
FROM
班級 c
JOIN
老師 t ON c.班級編號 = t.班級編號
LEFT JOIN
學生 s ON c.班級編號 = s.班級編號
GROUP BY
c.班級名稱, t.老師姓名;
解釋
選取列:
c.班級名稱:選取班級名稱。
t.老師姓名:選取老師姓名。
COUNT(s.學號) AS 學生人數:計算每個班級中的學生數量。
連接表格:
JOIN 班級 c ON c.班級編號 = t.班級編號:將班級表 c 和老師表 t 進行連接,根據班級編號匹配班級和老師。
LEFT JOIN 學生 s ON c.班級編號 = s.班級編號:使用左連接將班級表 c 和學生表 s 連接,根據班級編號匹配學生和班級,即使某些班級沒有學生也會顯示出來。
分組:
GROUP BY c.班級名稱, t.老師姓名:根據班級名稱和老師姓名進行分組,以計算每個班級的學生人數。
這樣的查詢語法會返回每個班級的老師姓名及該班級的學生人數。