所以我一直在研究使用SQL查询数据库的Java程序。虽然它的大部分设置已经完成,但我在制定一些查询时遇到了一些麻烦。
例如,一个查询是指来自一个表的每个唯一标识符“ID”,然后从使用“ID”作为外键的单独表中返回它们参加的一组考试。我不太确定如何形成这个查询,我真的很难过。任何帮助都会非常感激。
由于
答案 0 :(得分:2)
SELECT s.s_ID, e.ID, e.Exam_code, e.Exam_year, e.Score FROM student s JOIN exam e ON s.s_ID = e.s_ID WHERE s.s_ID = 1
答案 1 :(得分:1)
代表不够,不能发表评论......) - ;
您是否尝试过JOIN操作?
例如,如果您的exams
表在每个考试中都有一行,
SELECT * FROM exams JOIN students ON exams.participant_student_id = students.id'
作为推论,
SELECT * FROM exams JOIN students ON exams.participant_student_id = students.id where student.id = 123;
将为ID = 123的学生提供考试表的子集。
您应该考虑将数据存储在数据库中的最佳方法。我建议每个参与者一行,每次考试对于考试表的结构是合理的。这为您将来的查询提供了更大的灵活性。缺点是,如果希望输出为Set(或String),则必须循环结果集中的行。
答案 2 :(得分:1)
SELECT * FROM TABLE1 AS t1 JOIN TABLE2 AS t2 ON t2.id = t1.id
其中t1是id为外键的表