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

在MySQL中使用'不存在'的SQL分区

冯霖
2023-03-14
问题内容

我有下表:

“委员会”表

通讯名
========================
普通话单
commA插孔
CommmA吹笛者
帐单
社区吹笛者

并且我正在寻找“ piper”所在的每个委员会中的教授(答案应该是吹笛者和账单):

我有以下SQL除法查询,但它是错误的,我无法弄清楚问题出在哪里(不退还账单,只是吹笛者):

选择b.profname
来自委员会b
不存在的地方

(选择通讯名
甲委员会
其中profname ='piper'且不存在

(选择通讯名
来自委员会
其中a.profname = b.profname))

有人可以帮我吗?谢谢,


问题答案:

您最内在的选择在其where子句中不使用任何内容,因此它总是在寻找一些东西供吹笛者使用。尝试

select distinct b.profname from committee b
where not exists (
    select commname from committee a
    where a.profname = 'piper' and not exists  (
        select commname from committee c
        where c.profname=b.profname and c.commname=a.commname
    )
);


 类似资料:
  • 问题内容: 我正在尝试编写一个查询,该查询将检查MySQL中的特定表是否具有特定列,如果没有,则创建它。否则什么都不做。在任何企业级数据库中,这实际上都是一个简单的过程,但是MySQL似乎是一个例外。 我以为 可以工作,但是失败很严重。有办法吗? 问题答案: 这对我来说很好。 使用PHP就像…

  • 问题内容: 如何在MySQL存储过程中构建和使用动态SQL? 问题答案: 我不相信MySQL支持动态sql。您可以执行类似但不同的“准备”语句。 这是一个例子: 准备好的语句通常用于查看给定查询的执行计划。由于它们是使用 execute 命令执行的,并且可以将 sql 分配给变量,因此您可以近似地估计一些与动态sql相同的行为。 这是一个很好的链接: 不要忘记使用最后一行取消分配! 祝好运!

  • 问题内容: 在我的项目中,我需要使用分页查询数据库,并为用户提供基于当前搜索结果进行查询的功能。像极限之类的东西,我找不到与Node.js一起使用的东西。我的后端是mysql,我正在编写rest api。 问题答案: 您可以尝试类似的操作(假设您使用Express 4.x)。 使用GET参数(此处的page是所需的页面结果数,而npp是每页的结果数)。 在此示例中,查询结果设置在响应有效负载的字段

  • 问题内容: 如果该 对 不存在,如何插入一行? *注意这些不是主键,我的主键设置为自动增量, 尝试插入时忽略但不起作用 表格看起来像: 问题答案: 1)您可以在上添加约束吗?如果是,请添加此约束并使用: 并忽略产生警告(或将替换为) 2)如果您不能添加这样的约束(例如,有时您希望允许这样的重复项而其他时候则不允许),则可以使用以下方法:

  • 问题内容: 我有以下内容: 创建DB并使用他的前两个 方法工作正常。当到达行中时,它将引发异常- 问题答案: 这应该在您的情况下有效: 原因:每次调用execute方法时,语句只能执行一个SQL语句。 如果要同时执行两个或多个语句,则可以使用Batch-Jobs来执行。 喜欢:

  • 问题内容: 我从谷歌搜索开始,发现这篇文章讨论了互斥表。 我有一张约有1400万条记录的表。如果我想添加更多相同格式的数据,是否有一种方法可以确保在不使用一对查询的情况下我要插入的记录不存在(即,要检查的一个查询和要插入的一个是结果集是空)? 如果字段上存在约束,是否可以保证该约束将失败? 似乎 只有 一个约束,当我通过php发出插入命令时,脚本就发出了嘶哑的声音。 问题答案: 采用 见http: