从外键获取行值 MySQL
Get row values from foreign key MySQL
这听起来简单又愚蠢,但我怎样才能从 table 中获取 foreign
键的值并显示它呢?
我有一个名为“subjects
”的 table,它包含不同的学校科目,其中一列是一个 foreign
键引用 table,名为“faculty
".
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 |
|________|_____________|
我首先想检查“subject
”table中是否存在数据,然后继续显示foreign key
的行值。
我有一个不太有效的查询,因为它同时显示 JOHN
和 JOHNNY
。我正在使用 LIKE
因为它将用于系统的搜索功能所以希望你能帮助我解决这个问题。
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%'
这听起来简单又愚蠢,但我怎样才能从 table 中获取 foreign
键的值并显示它呢?
我有一个名为“subjects
”的 table,它包含不同的学校科目,其中一列是一个 foreign
键引用 table,名为“faculty
".
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 |
|________|_____________|
我首先想检查“subject
”table中是否存在数据,然后继续显示foreign key
的行值。
我有一个不太有效的查询,因为它同时显示 JOHN
和 JOHNNY
。我正在使用 LIKE
因为它将用于系统的搜索功能所以希望你能帮助我解决这个问题。
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%'