例如:查询所有学生的选课情况
Oracle写法:
SELECT s.SNAME, st.COURSE
FROM tt_student s,
(SELECT sc.SNO, wmsys.wm_concat(tc.CNAME) COURSE
FROM SC sc
INNER JOIN tt_course tc
ON tc.CNO = sc.CNO
GROUP BY sc.SNO) st
WHERE s.SNO = st.SNOMySQL写法:
SELECT s.SNAME, st.COURSE
FROM tt_student s,
(SELECT sc.SNO, group_concat(tc.CNAME) COURSE
FROM SC sc
INNER JOIN tt_course tc
ON tc.CNO = sc.CNO
GROUP BY sc.SNO) st
WHERE s.SNO = st.SNO
本文对比了Oracle和MySQL中实现相同跨表查询的不同写法,主要介绍了如何使用分组函数wm_concat与group_concat来获取学生选课信息。
5361

被折叠的 条评论
为什么被折叠?



