SQL 中的 JOIN ON 只能指定一个匹配条件,若需匹配多个条件,可以使用 WHERE 子句。替代方法包括:子查询UNION ALLCASE 表达式EXISTS

SQL 中的 JOIN ON 条件
SQL 中的 JOIN ON 语句可以连接两个或多个表,并使用一个或多个条件来匹配行。但是,JOIN ON 只能指定一个条件。
如果您需要使用多个条件来匹配行,可以使用 WHERE 子句:
SELECT * FROM table1 JOIN table2 ON table1.id = table2.id WHERE table1.name = table2.name;
上面的查询使用 JOIN ON 来匹配 table1 和 table2 中具有相同 ID 的行,然后使用 WHERE 子句来进一步筛选行,仅选择具有相同名称的行。
商品查询功能提供了一个快速查看商品的途径。商品查询分为基本查询和高级查询。基本查询:提供关键字和商品大类两种条件的查询,用户可以只填写关键字或者选择商品大类或者关键字和商品大类都填写来查询商品。高级查询:提供关键字,商品大类,商品小类,商品价格范围四种条件的查询,用户可以任意填写其中一种或几种的查询条件来查询想要了解的商品信息。商品查询功能大大的方便了用户,提高了网站的用户体验。(5)帮助系统模块
以下是一些使用 JOIN ON 和 WHERE 子句匹配多个条件的替代方法:
- 使用子查询:将其中一个表的条件放入子查询中,然后使用 JOIN ON 条件连接主表和子查询。
- 使用 UNION ALL:将两个或更多个查询的結果合併在一起,然后使用 JOIN ON 条件连接合併後的表。
- 使用 CASE 表达式:在 JOIN ON 条件中使用 CASE 表达式来评估多个条件。
- 使用 EXISTS:使用 EXISTS 子查询来检查是否存在满足某个条件的行。
根据具体情况,选择最佳方法可能会有所不同。









