gpt4 book ai didi

mysql - SQL 查询打印属于对称对的学生的姓名

转载 作者:行者123 更新时间:2023-11-29 15:23:49 25 4
gpt4 key购买 nike

给定表studentma​​thematics_marksscience_marks

学生

  • student_id(主键)|小整型
  • 学生姓名                  | varchar(30)

数学分数

  • student_id(主键)|小整型
  • 得分                               | float (5,2)

科学标记

  • student_id(主键)|小整型
  • 得分                               | float (5,2)

如果一个学生在科学上获得的分数等于其他学生在数学上获得的分数,并且在数学上获得的分数与在数学上获得的分数相同,则该学生被称为对称对的一部分。其他科学专业的学生。

我尝试通过以下查询解决上述问题:

SELECT s.student_name 
FROM student s
LEFT JOIN (mathematics_marks m CROSS JOIN science_marks sc)
ON (s.student_id = m.student_id AND m.student_id = sc.student_id)
WHERE EXISTS(SELECT * FROM mathematics_marks m
WHERE sc.score=m.score
AND m.score=sc.score)
ORDER BY student_name;

我没有得到正确的输出。谁能帮我解决我哪里出错了?

最佳答案

以一种非常简单的方式

select s.student_name 'student_name'
from student s
inner join mathematics_marks m
on m.student_id = s.student_id
inner join science_marks sc
on sc.student_id = s.student_id
where m.score in ( select score from science_marks ) and
sc.score in ( select score from mathematics_marks )
ORDER BY student_name;

关于mysql - SQL 查询打印属于对称对的学生的姓名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59182206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com