这听起来简单而愚蠢,但我如何从表中获取并显示foreign键的值呢?
我有一个名为“subjects”的表,其中包含不同的学校科目,其中一列是从名为“foreign”的表中引用的键。

TABLE subjects
___________________________________
| sub_id | sub_faculty | sub_desc |
|    1   |      2      | PHYSICS  |
|    2   |      3      |   MATH   |
|    3   |      4      | HISTORY  |
|________|_____________|__________|

TABLE faculty
________________________
| fac_id |  fac_name   |
|    2   |    John     |
|    3   |    Mark     |
|    4   |   Johnny    |
|________|_____________|

首先,我想检查数据是否存在于“faculty”表中,然后继续显示subject的行值。
我有一个不工作的查询,显示foreign keyJOHN。我使用了JOHNNY作为系统的搜索功能,所以希望您能帮助我解决这个问题。
SELECT *
FROM subject, faculty
WHERE subject.sub_desc = 'PHYSICS'
  AND subject.sub_year = '4'
  AND faculty.fac_name LIKE '%JOHN%'
GROUP BY faculty.fac_id

最佳答案

SELECT *
FROM subject s
join faculty f
  on s.sub_faculty = f.fac_id
WHERE s.sub_desc = 'PHYSICS'
  AND s.sub_year = '4'
  AND f.fac_name LIKE '%JOHN%'

10-06 09:29