gpt4 book ai didi

mysql - 从两个表中获取指定格式的数据

转载 作者:行者123 更新时间:2023-11-29 17:25:43 25 4
gpt4 key购买 nike

我对数据库不是很专业,因此正在寻求一种有效的方法来解决以下问题。正如已经解决的那样,但使​​用了许多联合和子查询,但这些似乎并不理想。

INSERT INTO teacher(id, name) VALUES(1, 'Mike');
INSERT INTO teacher(id, name) VALUES(2, 'Jim');
INSERT INTO teacher(id, name) VALUES(3, 'Chris');
INSERT INTO teacher(id, name) VALUES(4, 'John');
*************************************************************
INSERT INTO subject(id, name, teacherId) VALUES(1, 'DSA', 1);
INSERT INTO subject(id, name, teacherId) VALUES(2, 'OPPS', 2);
INSERT INTO subject(id, name, teacherId) VALUES(3, 'JAVA', 2);

我的预期输出是;麦克 1吉姆 2克里斯 0约翰0

说明:1. 每位教师的姓名以及相关科目。2. 与每位教师相关的科目编号,即 0、1、2 等3. 未分配任何科目的教师姓名。

任何帮助将不胜感激。

最佳答案

下面的查询会对您有所帮助

select t.name, count(s.name) from teacher t
left join subject s on s.teacherId = t.id
group by t.name;

您需要根据教师 ID 连接两个表然后统计主题名称。

LEFT JOIN使用后,即使 subject 表中没有数据,您也可以从 teacher 表中获取数据

GROUP BY用于聚合每位教师的科目名称

关于mysql - 从两个表中获取指定格式的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50986542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com