mysql通过Score表查询有学生DEGREE低于72的课程的CNO,再通过CNO在Course表中查询课程的NAME,老师的TNO,再通过TNO在Teacher表中查询老师的NAME,最终展示课程的CNO、NAME,老师的TNO,NAME
时间: 2024-05-14 19:17:29 浏览: 15
可以使用如下SQL语句实现:
```
SELECT Score.CNO, Course.NAME, Course.TNO, Teacher.NAME
FROM Score
JOIN Course ON Score.CNO = Course.CNO
JOIN Teacher ON Course.TNO = Teacher.TNO
WHERE Score.DEGREE < 72;
```
该语句使用了多表连接,首先通过JOIN将Score和Course表连接起来,连接条件为Score表的CNO与Course表的CNO相等。然后再将Course表和Teacher表连接,连接条件为Course表的TNO与Teacher表的TNO相等。最后使用WHERE筛选出DEGREE低于72的记录,并选择需要展示的列。
相关问题
mysql通过Teacher表查询‘ZDH’老师的TNO,通过TNO在Course表查询选修该老师教的课程的CNO,再通过CNO在Score表查询学生的SNO,再通过SNO在Student表查询学生的NAME,最终展示学生的SNO和NAME
可以使用以下 SQL 语句完成该查询:
```
SELECT Score.SNO, Student.NAME
FROM Teacher
JOIN Course ON Teacher.TNO = Course.TNO
JOIN Score ON Course.CNO = Score.CNO
JOIN Student ON Score.SNO = Student.SNO
WHERE Teacher.NAME = 'ZDH';
```
这个 SQL 查询语句使用了多个表的 JOIN 操作,首先连接 Teacher 表和 Course 表,查询到该老师所教授的课程;然后连接 Course 表和 Score 表,查询到选修该课程的学生;最后连接 Score 表和 Student 表,查询到学生的姓名。WHERE 子句用于限定查询结果,只返回教师名为 'ZDH' 的记录。
mysql在Course中查询NAME包含“Computer”的课程的CNO,通过CNO在Score表查询选修了该课程的学生的SNO,通过SNO在Student表查询学生的NAME,最终展示学生的SNO和NAME
可以使用以下SQL语句实现:
```
SELECT Score.SNO, Student.NAME
FROM Score
JOIN Course ON Score.CNO = Course.CNO
JOIN Student ON Score.SNO = Student.SNO
WHERE Course.NAME LIKE '%Computer%';
```
该语句中使用了三个表的连接,首先使用JOIN将Score表与Course表连接,通过Course表筛选出NAME中包含“Computer”的课程,然后再将结果与Student表连接,通过SNO将选修了该课程的学生信息查询出来,最后展示学生的SNO和NAME。