gpt4 book ai didi

mysql - 如何在Mysql中检索三或四个表的交集

转载 作者:行者123 更新时间:2023-11-29 20:51:39 24 4
gpt4 key购买 nike

我有包含公共(public)列的表格。

  • A:汽车、香蕉、猴子
  • B:香蕉、龙、蜗牛
  • C:鞋子、 socks 、香蕉

如您所见,banana 列是公共(public)列。相同的名称,相同的数据类型,(int)。

我想在这些表中进行一些搜索工作。

例如,

  1. 在表中,我想查找“汽车”列中包含关键字“丰田”的行。

  2. B表中“snail”列中的关键字“evil snail”

  3. ....

像这样。

然后,我想通过两种方法检索 banana 字段的值:

  1. 从所有表中找到的行
  2. 可以在所有表​​的找到行中找到的香蕉。

因此,尽管我什至无法绘制解决方案,但需要两行 sql...

我一直想了将近八个小时来解决这个问题,但只有头痛变得更严重..

我想知道有人可以帮忙解决这个问题......

最佳答案

要查找“car”中包含关键字“Toyota”的所有 A,请执行以下操作:

SELECT * FROM A WHERE car like '%Toyota%';

B 和 C 也是如此。您应该注意到,在我们检查列是否包含该值的情况下使用了 like。要进行精确匹配,您应该使用等号,例如汽车='丰田'。

对于第二种查询类型,您需要一个本质上是析取的结果。因此,您应该查询每个表并将结果统一起来,如下所示:

SELECT a.banana FROM A a where a.banana=[VALUE] 
UNION
SELECT b.banana FROM B b where b.banana=[VALUE]
UNION
SELECT c.banana FROM C c where c.banana=[VALUE];

关于mysql - 如何在Mysql中检索三或四个表的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37996451/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com