应用场景:给定两张表,查询id为1的记录的创建用户名和更改用户名。
表1:
ID | 创建用户ID | 更改用户ID | 电子黑板 |
---|---|---|---|
1 | admin | teacher | 电子板一 |
2 | admin | student | 电子板二 |
3 | admin | teacher | 电子板三 |
表2(用户表):
ID | 用户名 |
---|---|
admin | 张三 |
teacher | 李四 |
student | 王小二 |
这里在表一查出id为1之后拿到的只是ID号,并不能获得具体名字,需要到表二中,将对应两个字段根据ID查询替换成用户名。为了方便理解,表头全用中文替代。思路为用两次left join。
查询语句如下:
SELECT T2.用户名 AS 创建用户ID,
T3.用户名AS 更改用户ID,
T1.电子黑板
FROM TAB_1 AS T1
LEFT JOIN TAB_2 AS T2
ON T1.创建用户ID=T2.ID
LEFT JOIN TAB_2 AS T3
ON T1.更改用户ID=T3.ID
WHERE T1.ID=1
总结:一个字段需要替换JOIN查一次,两个字段需要替换就JOIN查两次,对表2取别名T2,T3即可。