使用单个查询在 postgres 数据库中搜索多个表?
我正在尝试搜索单个数据库中的多个表,但我没有任何运气。
我有两个表,“城市”和“国家”,我想要一个单一的搜索来查找两个/任意一个的结果,
像这样的东西 -
SELECT * FROM cities && countries WHERE name ='New York'
任何帮助都会很棒!
I'm trying to search multiple tables in a single database but I'm not having any luck.
I have two tables, Cities and Countries and I want a single search that finds results from both/either
Something like this -
SELECT * FROM cities && countries WHERE name ='New York'
Any help would be awesome!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这可以通过
JOIN
或UNION
子句来完成。取决于您想要的结果。 (我在以下示例中对您的模式做出一些假设):使用 JOIN
与 UNION (出于性能原因,如果可以,请使用
ALL
)使用
NATURAL FULL JOIN
<如果您“正确”使用 code>NATURAL FULL JOIN,则其行为可能与
UNION
类似,如本博客文章 或 在此。This can either be done with a
JOIN
or aUNION
clause. Depending on what you want your result to look like. (I'm making some assumptions about your schema in the following examples):With a JOIN
With a UNION (use
ALL
if you can, for performance reasons)Using
NATURAL FULL JOIN
NATURAL FULL JOIN
may be used to behave similar to aUNION
if you use it "correctly", as shown in this blog post or in this one.