我有三个表:Student、Roommate、Salary。
各列如下:
学生
student_id (Primary Key) | smallint
student_name | varchar(30)
Run Code Online (Sandbox Code Playgroud)
室友
student_id (Primary Key) | smallint
roommate_id | smallint
Run Code Online (Sandbox Code Playgroud)
薪水
student_id (Primary Key) | smallint
salary | float(10,2)
Run Code Online (Sandbox Code Playgroud)
现在我需要打印学生和室友的名字。好吧,我能够找到薪水相同的人。但我无法确定他们是否是室友。这个怎么做?
小智 5
以下是对 Mysql 有帮助的查询
> SELECT st.student_name
FROM student st
JOIN roommate rm ON (rm.student_id = st.student_id)
JOIN salary st_salary ON (st.student_id = st_salary.student_id)
JOIN salary rm_salary ON (rm.roommate_id = rm_salary.student_id)
WHERE st_salary.salary = rm_salary.salary;
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助