给定以下 2 个表 a、b:
ID job
1 farmer
2 physician
3 bank clerk
Run Code Online (Sandbox Code Playgroud)
bID ID lang job
1 1 en farmer
2 2 en physician
3 3 en bank clerk
4 2 de Arzt
5 1 fr paysan
Run Code Online (Sandbox Code Playgroud)
SELECT a.ID, a.job, b.job FROM a LEFT JOIN b ON a.ID=b.ID WHERE b.lang='de'
Run Code Online (Sandbox Code Playgroud)
a.ID a.job b.job
1 farmer -
2 physician Arzt
3 bank clerk -
Run Code Online (Sandbox Code Playgroud)
2 physician Arzt
Run Code Online (Sandbox Code Playgroud)
有什么问题LEFT JOIN
?我需要一些 (()) 吗?
在您的查询中,仅使用条件执行左连接a.ID=b.ID
,然后根据条件过滤结果b.lang='de'
。您需要在左连接上添加两个条件:
SELECT a.ID, a.job, b.job
FROM a LEFT JOIN b
ON (a.ID=b.ID and b.lang='de')
Run Code Online (Sandbox Code Playgroud)