首页 > 数据库 > mysql教程 > 如何在左连接之前使用 ON 子句过滤表?

如何在左连接之前使用 ON 子句过滤表?

Barbara Streisand
发布: 2025-01-14 13:27:47
原创
496 人浏览过

How to Filter a Table Before a Left Join Using the ON Clause?

在左连接前过滤表

要在执行左连接之前过滤表,请在 JOIN 语句的 ON 子句中应用过滤条件。在本例中,目标是在将 Entry 表连接到 Customer 表之前,按 Category 列过滤 Entry 表,其值为 'D'。

<code class="language-sql">SELECT c.Customer, c.State, e.Entry
FROM Customer c
LEFT JOIN Entry e ON c.Customer = e.Customer AND e.Category = 'D'</code>
登录后复制

在此查询中,ON 子句按 Category 列过滤 Entry 表,确保只有 Category = 'D' 的行包含在连接操作中。这允许您检索 Customer 表中的所有记录,而不管它们是否在 Entry 表中具有相关记录,同时过滤掉任何不符合指定 Category 条件的无关条目。

此查询的结果将是:

<code>╔══════════╦═══════╦═══════╗
║ Customer ║ State ║ Entry ║
╠══════════╬═══════╬═══════╣
║ A        ║ S     ║  5575 ║
║ A        ║ S     ║  3215 ║
║ B        ║ V     ║  4445 ║
║ C        ║ L     ║  NULL ║
╚══════════╩═══════╩═══════╝</code>
登录后复制

这与预期结果相符,其中包含 Customer 表中的所有行,以及按 Category = 'D' 过滤的 Entry 表中的匹配条目。

以上是如何在左连接之前使用 ON 子句过滤表?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板