mysql - 从两个独立的表中选择数据

标签 mysql sql select

我的 MySQL 数据库中有两个表(MAILS 和客户),它们都有一个列 email 存储电子邮件地址。

现在我想从这两个表中选择 emails.email!=customers.email 的每一行。

当我执行一个简单的 SELECT * FROM emails, customers WHERE emails.email != customers.email 时,我得到每个 emails.email 都列出了 customers 表中的数据。

我该怎么做?我可以使用 DISTINCT 但仅将其应用于来自客户表的数据吗?

最佳答案

如果您想要在 emails 表或 customers 表中找到一个唯一的电子邮件地址列表,但在 email 字段中它们之间没有匹配项,这将起到作用:

SELECT DISTINCT COALESCE(e.Email, c.Email) as Email
FROM Emails e FULL OUTER JOIN Customers c ON e.Email = c.Email
WHERE e.Email IS NULL OR c.Email IS NULL

巧合的是,这种情况是我发现 FULL OUTER JOIN 特别有用的极少数情况之一...

关于mysql - 从两个独立的表中选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9449785/

相关文章:

mysql - 在 MySQL 中将数据从一列移动到另一列

javascript - 如何使用数据库表中的特定 ID 或变量登录

sql - SAS汇总后总和错误

mysql - 使用触发器在插入后使用创建新记录并从另一个表中选择

java - 如何设置默认选中的组件

sql - ORACLE SQL中通过select语句添加带有空度量的行

java - 使用元数据在 mysql 中插入查询

c# - 如何以编程方式在 mysql 表中创建两个外键

SQL 查询使用列作为公式来计算值

mysql - SQL子查询错误1054未知列