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

动态创建内联SQL表(用于排除左联接)

党博超
2023-03-14
问题内容

让我们假设以下内容:

表A

id | value
----------
1   | red
2   | orange
5   | yellow
10  | green
11  | blue
12  | indigo
20  | violet

我有一个ID列表(10、11、12、13、14),可用于在此表中查找ID。这个ID清单是在我的前端生成的。

使用纯SQL,我需要从此列表(10、11、12、13、14)中选择ID,这些ID在表A中没有条目(在“
id”列中联接)。结果应该是id的13和14的结果集。

如何仅使用SQL完成此操作?(此外,如果可能,我想避免使用存储过程)

我能想到的唯一方法是,可以动态创建一个内联SQL表来临时保存我的ID列表。但是,我不知道该怎么做。这可能吗?有没有更好的办法?

谢谢!:)


问题答案:

您可以使用UNION子查询创建“内联表” :

(
            SELECT 10 AS id
  UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14
  -- etc.
) AS inline_table


 类似资料:
  • 我用@query创建了UsersRepository 我得到错误,我可以在没有@query的情况下这样做吗?我可以用@onetomany做这个吗?如何在Jpa OneTomany上实现select?我想得到没有帖子的所有用户。

  • 内联样式表(inline style),就是在HTML元素中,通过 style 属性定义的样式。可以为包含在 body 内部的任何元素定义 style 属性,属性的值为一条或多条声明,多条声明间用逗号隔开。如: <!DOCTYPE HTML><html><head><meta charset="utf-8"><title>内联样式</title></head><body><p style = "c

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

  • 问题内容: 例如,我在表中有此数据, 我或该表本身如何,这样我可以在下面获得此结果? 尽我所能,我只想用关键字“ manage”查询行,但我希望 add 的行中的列数据与结果中的 manage 行中的as相同。 是否有可能? 编辑: 我实际表格的简化版本- , 我的实际查询已经很乱了… 结果我目前得到了 但是我在这之后 问题答案: 您只需要两次引用该表: 如果要在列表中查看根,请用左联接替换inn

  • 根据我对左向外连接的理解,结果表的行永远不会比左表多...请让我知道如果这是错的... 我的左表是192572行8列。 我右边的表格是42160行和5列。 我的左表有一个名为“id”的字段,它与我的右表中名为“key”的列相匹配。 因此,我将它们合并为: 但是然后组合的形状是236569。 我有什么误会?

  • 汽车实体 保留实体 非常感谢你的帮助。