我有一个名为 'db_sc' 的 MySQL 数据库,其中包含四个表:

  • course 表:包含 Cno、Cname、Chours、Credit、tno 字段
  • sc 表:包含 Sno、Cno、Score 字段
  • student 表:包含 Sno、Sname、Ssex、Sage、Sclass、Scol 字段
  • teacher 表:包含 tno、tname、tsex、trank、tempdate 字段

现在我需要查询 student 表中的所有信息,以及每个学生所选课程的 Cno、Cname、Chours、Credit 信息。

可以使用以下 SQL 语句实现:

SELECT student.*, course.Cno, course.Cname, course.Chours, course.Credit 
FROM student 
INNER JOIN sc ON student.Sno = sc.Sno 
INNER JOIN course ON sc.Cno = course.Cno;

解释:

  • SELECT student.*, course.Cno, course.Cname, course.Chours, course.Credit:选择 student 表的所有字段,以及 course 表中的 Cno、Cname、Chours、Credit 字段。
  • FROM student:从 student 表中查询数据。
  • INNER JOIN sc ON student.Sno = sc.Sno:使用 INNER JOIN 将 student 表与 sc 表连接,连接条件是 student.Sno 等于 sc.Sno。
  • INNER JOIN course ON sc.Cno = course.Cno:使用 INNER JOIN 将 sc 表与 course 表连接,连接条件是 sc.Cno 等于 course.Cno。

该语句将返回所有学生的信息,以及每个学生所选课程的详细信息。


原文地址: https://www.cveoy.top/t/topic/fVcP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录