Mysql 正确的连接语法只连接表A中与表B匹配的行
我的目标 我正在尝试对表a和表B进行联接 我想在表A中列出每一条街上的所有居民,但我不想在表A中列出每一个人,只想在表B中列出每一条街上的居民 我尝试过的Mysql 正确的连接语法只连接表A中与表B匹配的行,mysql,sql,join,Mysql,Sql,Join,我的目标 我正在尝试对表a和表B进行联接 我想在表A中列出每一条街上的所有居民,但我不想在表A中列出每一个人,只想在表B中列出每一条街上的居民 我尝试过的 A和B上的内部联接:仅返回每个地址的第一人称 左加入:返回所有人 右连接:返回B的两条街道,每个地址的第一人称 表A Fred 123 Fake Street Bob 456 Any Street Alice 456 Any Street Jenny 879 Spring Street Cassie 879 Spr
- A和B上的内部联接:仅返回每个地址的第一人称
- 左加入:返回所有人
- 右连接:返回B的两条街道,每个地址的第一人称
Fred 123 Fake Street
Bob 456 Any Street
Alice 456 Any Street
Jenny 879 Spring Street
Cassie 879 Spring Street
Spinner 227 Nothing Street
Ranger 227 Nothing Street
Swifty 227 Nothing Street
Loggy 821 Victory Way
表B
227 Nothing Street
456 Any Street
查询结果(某种类型的联接)
你似乎想要:
select a.*
from a
where exists (select 1 from b where b.address = a.address);
您可以对内部联接执行相同的操作。我不知道你所说的“A和B的内部连接:只返回每个地址的第一人称”是什么意思。这完全是错误的。您似乎想要:
select a.*
from a
where exists (select 1 from b where b.address = a.address);
您可以对内部联接执行相同的操作。我不知道你所说的“A和B的内部连接:只返回每个地址的第一人称”是什么意思。这是完全错误的。内部联接可以正常工作:
SELECT a.*
FROM tableA a
JOIN tableB b ON b.address = a.address
输出:
name address
Bob 456 Any Street
Alice 456 Any Street
Spinner 227 Nothing Street
Ranger 227 Nothing Street
Swifty 227 Nothing Street
内部联接可以正常工作:
SELECT a.*
FROM tableA a
JOIN tableB b ON b.address = a.address
输出:
name address
Bob 456 Any Street
Alice 456 Any Street
Spinner 227 Nothing Street
Ranger 227 Nothing Street
Swifty 227 Nothing Street
表A是一列还是两列?表A是一列还是两列?