You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何从Users与Admin两张表中查询指定姓名条件的数据?

嘿,这个需求很清晰,咱们直接上解决方案:

正确的SQL实现方式

要拿到两张表中所有符合firstname = 'Alex' AND surname = 'Edison'的记录(保留重复的那条,最终返回2条),关键是用**UNION ALL**而不是普通的UNION——因为UNION会自动去重,会把两个表的同一条记录合并成一个,就达不到你要2条结果的要求了。

具体SQL语句如下:

-- 查询Users表中匹配的记录
SELECT id, firstname, surname
FROM Users
WHERE firstname = 'Alex' AND surname = 'Edison'

-- 用UNION ALL拼接Admin表的匹配记录,不做去重
UNION ALL

-- 查询Admin表中匹配的记录
SELECT id, firstname, surname
FROM Admin
WHERE firstname = 'Alex' AND surname = 'Edison';

关键说明

  • UNION ALL:仅仅是将两个查询的结果集直接拼接,不会对重复记录做去重处理,正好符合你需要返回2条结果的预期;
  • 如果误用UNION,会自动去除重复的行,最终只会返回1条记录,不符合需求。

执行这条语句后,你会得到两条记录:一条来自Users表(id=1, Alex Edison),另一条来自Admin表(id=1, Alex Edison)。

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

火山引擎 最新活动