首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >学习MySQL中的左连接

问学习MySQL中的左连接
EN

Stack Overflow用户
提问于 2010-09-07 12:12:58
回答 1查看 284关注 0票数 2

亲爱的各位,我是web编程的新手,直到现在我还在学习MySQL语法。现在,我开始使用LEFT JOIN方法。我知道这个方法用于在两个或多个表之间进行标准化。我在SO中发布了一个问题,然后我收到了一个Answer,这让我感到困惑。我已经修改了这个答案,但我仍然感到困惑,因为它只对一个表使用了LEFT JOIN。LEFT JOIN是否可以在一个表中使用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-07 12:23:54

您可以对表本身执行LEFT JOIN操作,就像您可以对表执行JOIN操作一样。您的目的通常会有所不同,因为LEFT JOIN的特定特征是在右侧没有对应的行时确保输出中有一行;当然,您可以通过检查行的“其他部分”(通常来自右侧表的部分)的NULL来选择那些以这种方式特别选择的行。

例如,假设有一个表Product,其中包含列ID、主键、Name、Category和Cost;您需要有关其类别中最便宜的产品的信息。然后...:

代码语言:javascript
复制
SELECT P1.Name, P1.Category, P1.Cost
  FROM Product AS P1
  LEFT JOIN Product AS P2
  ON (P1.Category = P2.Category and P1.Cost > P2.Cost)
  WHERE P2.ID IS NULL

是一个“表与自身的左连接”的示例,它将满足“您想要的”规范(如果一个类别中有多个项目具有相等的最低成本,您将获得所有项目--查询实际上给出的项目是这样的:类别中没有任何项目更便宜,并且没有检查相同成本的项目;-)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3655716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档