mysql - 如何结合左连接和哪里连接(老派逗号连接)?
问题描述
这没问题
select user.`username` , id_user_gender.text gender
from user
left join id_user_gender
on user.idGender = id_user_gender.id
where 1
这也没有问题
select user.`username` , user.idType
from user,id_user_type
where user.idType=id_user_type.id
但这是错误:#1054 - 'on 子句'中的未知列 'user.idGender'
select user.`username` , id_user_gender.text gender, user.idType
from user,id_user_type
left join id_user_gender
on user.idGender = id_user_gender.id
where user.idType=id_user_type.id
如何在同一个查询中使用左连接和哪里连接?
我也试过这个,但不工作
select uu.`username` , id_user_gender.text gender, uu.idType
from user as uu,id_user_type
left join id_user_gender
on uu.idGender = id_user_gender.id
where uu.idType=id_user_type.id
解决方案
你没有。您将所有 JOIN
逻辑放在s 所属的FROM
子句中:JOIN
select u.`username`, iug.text gender, u.idType
from user u join
id_user_type iut
on u.idType = iut.id left join
id_user_gender iug
on u.idGender = iug.id;
简单规则: 永远不要在FROM
子句中使用逗号。 始终使用正确、明确、标准 JOIN
的语法。
推荐阅读
- oracle-apex - Oracle APEX 从函数打开页面
- javascript - Javascript取消选中Vue的所有框功能
- python - Pythonic 生成具有一个固定列和一个随机列的数组的方法
- docker - Docker 官方私有注册表 - 按标签正确删除图像?
- google-cloud-platform - 谷歌云付费账户
- c# - Windows 窗体应用程序 - 文本框 c
- javascript - 在 JHipster 中为 React 表添加搜索下拉列表
- reactjs - 与 Webpack Module Federation 一起使用时 Recoil Duplicate atom key
- swiftui - SwiftUI:避免在 VStack 中的文本视图上水平移动以复制相机时间标签布局?
- git - 如何创建从一个分支的 Bitbucket 到 GitHub 中的主分支的合并拉取请求