【问题标题】:How to join two different tables in one query?如何在一个查询中连接两个不同的表?
【发布时间】:2026-02-22 18:50:01
【问题描述】:

我有两张桌子:

grades(id、subject_code、subject_description、midterm、final、final_remarks)

scholars(身份证号、身份证号、姓氏、名字、中间名、学校、年份、学期、课程、行动)

我怎样才能加入他们?

我想从成绩中获取subject_code、subject_description、midterm、final、final_remarks,从学者那里获取全名?

【问题讨论】:

标签: php sql


【解决方案1】:

这里是你的问题的解决方案 -

SELECT grades.subject_code , grades.subject_description , grades.final , grades.final_remarks , scholars.fullname 
from grades 
join scholars ON grades.lastname = scholars.lastname ;

【讨论】:

  • 常见的是姓氏
  • 哦,不是什么大问题,这个答案对你有帮助吗??
  • join 后面缺少表名。
  • @iAmLan 该问题在grades 中没有显示lastname 列,这怎么可能是公共字段?
  • 即使我在想,姓氏是如何通用的,这里通用的意思是列名必须相同@iAmLan
【解决方案2】:

需要在学者表的 Grades_id 字段中添加一列来对表的 id 进行评分。

SELECT DISTINCT gr.subject_code, gr.subject_description, gr.midterm, gr.final, gr.final_remarks, sl.fullname
FROM grades gr
LEFT JOIN scholars sl ON (gr.ID = sl.grades_id)
WHERE 1=1

【讨论】:

  • 我认为 1=1 不安全。
  • 它只是开始条件,不是重要条件。如果你想删除,它不会生效。