Mysql 跨层次表查询SQL

Mysql 跨层次表查询SQL,mysql,sql,database,Mysql,Sql,Database,我在查询带有子类的表时遇到问题。举例来说,如果我在MySQL数据库中有以下表 userTable: id name gender_id 1 bob 1 .... gender_id term 1 male 2 female .... 性别表: id name gender_id 1 bob 1 .... gender_id term 1

我在查询带有子类的表时遇到问题。举例来说,如果我在MySQL数据库中有以下表

userTable

id     name     gender_id 
1      bob      1
....
gender_id     term
1             male
2             female
....
性别表

id     name     gender_id 
1      bob      1
....
gender_id     term
1             male
2             female
....

如何使用
genderTable
中的
term
为所有男性编写查询,而不仅仅是使用
gender\u id

您似乎在寻找一个简单的连接。这里不涉及层次结构,
genderTable
称为referential表

以下查询将为您提供所有性别为“男性”的用户:

select u.*
from userTable u
inner join genderTable g 
    on  g.gender_id = u.gender_id 
    and g.term = 'male'