首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在TableA中引入不在表B中的记录左外部联接

在TableA中引入不在表B中的记录左外部联接
EN

Stack Overflow用户
提问于 2013-02-17 13:10:27
回答 2查看 428关注 0票数 1

下面这个问题是我在面试时问到的。我不知道在这种情况下是否可以使用左外部连接

代码语言:javascript
复制
CREATE TABLE TableA(Id INT, Name VARCHAR(255));
CREATE TABLE TableB(Id INT);

INSERT INTO TableA(Id, Name)
VALUES (1, 'Person A'),
       (2, 'Person B'),
       (3, 'Person C'),
       (4, 'Person D'),
       (5, 'Person E'),
       (6, 'Person F');

INSERT INTO TableB(Id)
VALUES (1),
       (2),
       (3);

输出应为

代码语言:javascript
复制
Name
Person D
Person E
Person F

两张桌子。TableA和表B。我想要表A中不在表B中的名称。可以通过左外部连接来实现这一点吗?我用纸和笔挣扎了几分钟,然后用纸写了一个问题,后来我发现答案是错的。

注意:请不要使用子查询。我也做了同样的事情,面试官让我通过左外部连接来做。

让我知道这是否可能是不可能的。

SQL Fiddle

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-17 13:14:26

听起来很简单

代码语言:javascript
复制
SELECT * FROM TableA a
LEFT JOIN TableB b on b.Id=a.Id
WHERE b.ID is null

这应该会给你表中的匹配项。诀窍是意识到您对B端的空行感兴趣。

票数 3
EN

Stack Overflow用户

发布于 2013-02-17 13:13:52

你可以使用子查询吗?

代码语言:javascript
复制
SELECT Name FROM TableA 
WHERE TableA.ID not in (SELECT TableB.ID From TableB)
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14918183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档