需要使用mysql中表的子查询输出
从给定的表格中,我需要为排名低于3且由老师或自己授课的学生按升序列出一个列表 它的预期输出是这样的需要使用mysql中表的子查询输出,mysql,sql,subquery,Mysql,Sql,Subquery,从给定的表格中,我需要为排名低于3且由老师或自己授课的学生按升序列出一个列表 它的预期输出是这样的 FROM THE GIVEN TABLES: Teacher And Student teacher_ID name city fee ------------------- ------------------------ 1 Jit New York 15000 2
FROM THE GIVEN TABLES: Teacher And Student
teacher_ID name city fee
------------------- ------------------------
1 Jit New York 15000
2 Nilon Paris 13000
5 Pol London 11000
6 Maj Paris 14000
7 Paul Rome 13000
3 Liza Saudi 12000
----------------------------------------------------------
student_id name city rank teacher_ID
2 Nick New York 1 1
7 Brady New York 2 1
5 Gunman California 2 2
8 Juli London 3 2
4 Faral Paris 3 6
9 Goku Berlin 1 3
3 John Moscow 2 7
1 Badstar London 5
我试着写sql代码
name city rank Teacher city
Nick New York 1 Jit New York
John Moscow 2 Paul Rome
Gunman California 2 Nilon Paris
Brady New York 2 Jit New York
Goku Berlin 1 Liza Saudi
根据学生ID ASC从排名<3的学生中选择姓名、城市、排名;
该代码为我提供了预期输出的前3列,但我不知道如何获得预期输出的最后两列,欢迎提供任何建议查询
SELECT name,city,rank FROM Student WHERE rank < 3 ORDER BY student_ID ASC;
选择Student.name,
学生城,
等级
Teacher.name作为“Teacher”,
教师城市
来自学生
在Teacher.Teacher\u ID=Student.Teacher\u ID上左键连接教师
其中秩<3
学生证ASC订购;
有一些事情你应该在声明中考虑。
提示:使用
left join
和teacher
table注意等级在第8版中成为保留字您将需要返回勾选我在编辑器中使用的是mysql 5.7,我想我需要操纵教师\u id以某种方式更改第一个表中的名称作为教师并显示他们的公民请您在这里了解更多关于加入的信息谢谢,这确实有助于我了解更多关于加入查询的信息
SELECT Student.name,
Student.city,
rank,
Teacher.name as "Teacher",
Teacher.city
FROM Student
LEFT JOIN Teacher on Teacher.teacher_ID = Student.teacher_ID
WHERE rank < 3
ORDER BY student_ID ASC;