问答 教师表 A (tno,tname),课程表 B (tno,cno,cname),请教大神,列出每个教师的课程数,这个 SQL 怎么写啊

小鱼吃大鱼 · 2020年06月13日 · 最后由 小D 回复于 2020年06月20日 · 2328 次阅读

1)列出王姓教师所教的所有课程,按课程名排序;
2)列出每个教师的课程数;

最佳回复
select B.* from B join A on B.tno = A.tno where A.tname like '王%';
select A.tname, count(0) from B join A on B.tno = A.tno group by A.tno;

这样子?

共收到 3 条回复 时间 点赞
select B.* from B join A on B.tno = A.tno where A.tname like '王%';
select A.tname, count(0) from B join A on B.tno = A.tno group by A.tno;

这样子?

(1) select a.tno,b.tname,a.cname from B a inner join (select tno,tname from A where tname like '王%') b no=b.tno order by a.cname ASC;
(2)select b.tname,a.tno,a.count from (select tno,count(*) count from B group by tno) a right join A b on a.tno=b.tno;

select B.cname from B ,A where A.tno=B.ton and A.tname like "王%"order by B.cname

select A.tname , D.c from (select tno,count(*) AS c from B group by tno) D ,A where D.tno =A.tno

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册