sql - 如何根据教师ID检索学生数据
问题描述
根据一个简单的场景ER图如下。
在此基础上,我开发了一个数据库映射如下。
在那里,橙色列显示表的主键,黄色列显示表的外键。这个映射正确吗?现在我的问题是我需要检索从某个老师那里学习的学生数据,这意味着需要检索一些从他/她那里学习的老师的学生。
解决方案
您需要了解如何使用不同类型的可用 JOIN 来连接表。
对于您的场景,请尝试如下操作,它将为您提供学生和教师映射。
select s.*
tbl_student s
inner join tbl_Course_Subjects tcs on s.Course_Id= tcs.Course_Id
inner join tbl_Subjects_Teacher tst on tst.SubjectId=tcs.Subject_Id
inner join tbl_Teacher t on t.Teacher_Id=tst.Teacher_Id
where t.Teacher_Id = @SomeTeacherId
推荐阅读
- swift - 当我只喜欢一张图片时,为什么我的喜欢按钮会喜欢我所有的图片?
- python-3.x - `quote_ident()` 和 psycopg2 中的参数化查询之间有区别吗?
- asp.net - 将 hid aspx ext 添加到 URL 重写后 IIS 不安全
- python - 使用 python、BeautifulSoup、Selenium 从表中抓取动态数据
- javascript - 如何将变量分配给由 lit-html 创建的 DOM 节点
- go - 如何删除 GoLand 中的“#gosetup”行?
- c# - 在存储帐户的天蓝色表中读取一行
- r - 如何在R中制作包含组和多个变量的条形图
- c++ - 有没有办法通过串行连接从 Processing 到 Arduino IDE 同时传输整个阵列?
- javascript - Npm 错误。无法安装包。不断抛出错误