You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写匹配特殊字符的查询?如何关联两表获取共有邮箱数据?

提取两表共有的邮箱数据SQL查询方案

优先通过邮箱关联的实现方式

方法1:INNER JOIN 关联查询

直接用邮箱字段做等值关联,INNER JOIN 只会保留两表中邮箱完全匹配的记录,自动排除仅单方存在的数据:

SELECT s.*
FROM SUPPLIER_TABLE s
INNER JOIN CUSTOMER_TABLE c
ON s.email = c.email;

方法2:IN子查询筛选

先从客户表提取所有邮箱,再筛选供应商表中包含这些邮箱的记录:

SELECT *
FROM SUPPLIER_TABLE
WHERE email IN (
    SELECT email
    FROM CUSTOMER_TABLE
);

特殊字符处理说明

如果邮箱包含特殊字符(如@、.、_等),不同数据库的处理方式如下:

  • MySQL/MariaDB:等值匹配无需额外转义;若字段名含特殊字符,用反引号``包裹字段名即可。
  • PostgreSQL:直接等值匹配即可;字段名特殊时用双引号""包裹。
  • SQL Server:等值匹配无需转义;字段名特殊时用方括号[]包裹。

邮箱关联不可行时,用共同ID关联

如果后续找到两表的统一关联ID(如user_id),可替换成以下查询:

SELECT s.*
FROM SUPPLIER_TABLE s
INNER JOIN CUSTOMER_TABLE c
ON s.common_id = c.common_id;

内容的提问来源于stack exchange,提问作者Raaj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 06:20:44