You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL技术问询:查询CptS专业SYS方向学生选修的课程信息

解决CptS专业SYS方向学生选修课程的查询问题

我来帮你梳理下这个查询的逻辑,直接给你对应的SQL语句和思路解释:

核心查询思路

要拿到目标数据,需要把涉及的表关联起来,一步步筛选:

  • 先通过tracks表锁定CptS专业的SYS方向
  • 关联student表找到对应方向的学生
  • 再通过enroll表找到这些学生选过的课程
  • 最后从course表提取课程号和学分,去重并排序

最终SQL语句

SELECT DISTINCT c.courseno, c.credits
FROM course c
JOIN enroll e ON c.courseno = e.courseno
JOIN student s ON e.student_id = s.student_id
JOIN tracks t ON s.track_id = t.track_id
WHERE t.major = 'CptS' AND t.track_name = 'SYS'
ORDER BY c.courseno;

关键细节说明

  • DISTINCT:确保同一门课程不会因为被多个学生选修而重复出现在结果里
  • 表关联:通过JOIN依次串联所有相关表,保证数据的关联性和准确性
  • 筛选条件:WHERE子句精准定位到CptS专业的SYS方向学生
  • 排序:ORDER BY c.courseno让结果按课程号升序排列(如果需要降序,可加DESC后缀)

如果你的实际表结构和字段名和我假设的有差异(比如学生表和方向表的关联字段不是track_id),可以根据建表SQL里的字段名调整关联条件就行~

内容的提问来源于stack exchange,提问作者mrsquid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:34:30