如何获得sql查询来组合两个表

lokaqttq  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(365)

我有一些关于sql查询的问题。我有一个名为customer的表,其中包含以下字段(name,city):

Juan   New York
Louis  Madrid

另一个名为asesor的表包含以下字段(name,city):

Michael   New York
Peter  Zurich
Dan   Madrid

我需要一个查询,结合两个表的城市是相同的。
预期结果:

Juan New York
Loius Madrid
Michael New York
Dan Madrid

彼得必须退出比赛。
谢谢

nle07wnf

nle07wnf1#

你可以用 UNION ALL 结合 EXISTS :

SELECT name , city
FROM CUSTOMER c
WHERE EXISTS (SELECT 1 FROM ASESOR a WHERE c.city= a.city)
UNION ALL
SELECT name , city
FROM ASESOR a
WHERE EXISTS (SELECT 1 FROM CUSTOMER c WHERE c.city= a.city);

dbfiddle演示
输出:

┌──────────┬──────────┐
│  name    │   city   │
├──────────┼──────────┤
│ Juan     │ New York │
│ Louis    │ Madrid   │
│ Michael  │ New York │
│ Dan      │ Madrid   │
└──────────┴──────────┘

相关问题