Kar*_*rem 3 mysql sql join inner-join outer-join
为什么这个sql查询只显示结果,如果他们在users_warnings中只有一行?
SELECT
u.id,
uw.warning
FROM
users u
INNER JOIN users_warnings uw ON (
u.id = uw.uID
)
LIMIT 21
Run Code Online (Sandbox Code Playgroud)
我希望向所有用户显示,但也会抓取users_warnings中的"警告"列,如果有的话.
因为您正在使用a inner join,这需要在连接表上存在一行.请尝试以下方法:
SELECT
u.id,
uw.warning
FROM
users u
LEFT JOIN users_warnings uw ON (
u.id = uw.uID
)
LIMIT 21
Run Code Online (Sandbox Code Playgroud)
一个INNER JOIN只返回东西,如果有两个表中的数据.
尝试LEFT JOIN改为:
SELECT u.id, uw.warning FROM users u
LEFT JOIN users_warnings uw ON (u.id = uw.uID)
LIMIT 21
Run Code Online (Sandbox Code Playgroud)