当前位置: 首页 > 面试题库 >

使用LIKE(SQL)联接表

陆甫
2023-03-14
问题内容

首先,我正在使用Oracle:

表一名称= tableone

表二名称= tabletwo

tableone有一个名为的列pizzaonetabletwo有一个名为的列pizzatwo。我想加入tableonetabletwo其中,pizzaone是在某个地方pizzatwo的名字。

我试过的

选择 * 
来自tableone 
   在tableone.pizzaone上加入tabletwo,例如('%'+ tabletwo.pizzatwo +'%')

如何更正此查询?


问题答案:

尝试使用以下语法:

select * 
from tableone 
   join tabletwo on tableone.pizzaone like ('%' || tabletwo.pizzatwo || '%')

Oracle的字符串连接运算符是双管道(||)。无效数字错误是因为Oracle需要’+’运算符的数字操作数。



 类似资料:
  • 问题内容: 我希望这不会重复。我已经检查了搜索,但似乎找不到明确的答案。 我有一个表,其主键设置为。我还有另一个表,该表的列基本上包含一个带有查询字符串的url,该查询字符串包含我第一个表中的guid。 所以我的2张桌子就像: 状态表 网址表 我想做的是连接在一起,然后在URL表的URL中包含on的值。我还没有真正弄清楚这个加入。我什至尝试只选择一个表并尝试按中的值进行过滤。我试图做这样的事情:

  • 主要内容:语法,示例SQL LIKE 子句用于在 WHERE 语句中进行模糊匹配,它会将给定的匹配模式和某个字段进行比较,匹配成功则选取,否则不选取。 LIKE 子句可以和通配符一起使用: 通配符 说明 百分号(%) 代表零个、一个或者多个任意的字符。 下划线(_) 代表单个字符或者数字。 [charlist] 字符列表中的任何单一字符。可以使用连字符(-)根据 ASCII 编码指定一个字符范围,例如: [0-9]

  • 问题内容: 有2个表,和,并且我需要从中删除数据。 是唯一“连接”表的东西。我已经尝试过此脚本,但是它不起作用。 我已经试过了: 问题答案: 在第一行中添加到。 尝试:

  • 问题内容: 有没有办法同时使用LIKE和IN? 我想实现这样的目标。 所以基本上,我希望能够用一堆不同的字符串来匹配该列。是否有另一种方法可以对一个查询执行此操作,还是我必须遍历要查找的字符串数组? 问题答案: 您可以通过在一个查询中将各个LIKE与OR串在一起来完成此操作: 请注意,像LIKE和per-row函数之类的东西并不总是能够很好地扩展。如果表可能会变大,则 可能 需要考虑向表中添加另一

  • 问题内容: 我有4个不同的表要加入。这些表的结构如下: 从表A开始,我了解如何使用b联接表a和c,因为b具有这些表的主键。我也希望能够在TableA上加入表TableD。下面是我的SQL语句,该语句首先连接表A和B,然后将其连接到C: 当我尝试添加另一个联接以包括D时,出现“ TableD”未知的错误: 问题答案: 您想要更多类似这样的东西: 在您的示例中,您实际上并未包含。您要做的就是像以前一样

  • 问题内容: 我有三个表:R,S和P。 表R通过外键与S连接;有 应该 是S中至少一个的记录,所以我可以加入: 如果S中没有记录,那么我没有行,那很好。 然后表S与P联接,其中记录为P可能存在,也可能不存在,并与S联接。 所以我做 如果我想将第二个JOIN绑定到S而不是R,例如我可以使用括号,该怎么办: 还是这已经是R,S和P之间笛卡尔积的自然行为? 问题答案: 各种外部联接和普通联接都在相同的优先