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

替代MySQL中的except

燕扬
2023-03-14
问题内容

我必须在MySQL中编写这样的查询:

SELECT * 
FROM Tab1
EXCEPT
SELECT * 
FROM Tab1 
WHERE int_attribute_of_Tab1>0

但是MySQL不支持关键字 EXCEPT 。是否有 标准模式 可以正确使用另一个模拟MySQL中的除外的运算符


问题答案:

您可以使用NOT IN

SELECT * 
FROM Tab1
WHERE id  NOT IN (
    SELECT id 
    FROM Tab1 
    WHERE int_attribute_of_Tab1>0
)


 类似资料:
  • 问题内容: 我有两个表:-表a,表b。 表一 - -ID - - 表b - -ID - - 我必须在没有 UNION 命令的情况下获得这样的输出: - - ID - - - 注意:我有一个联合的解决方案:- 我需要替代方案。 请专家建议。 问题答案: 为此,我们需要另一个具有(至少)2行的表: 然后,如果我们只想要一个查询,则可以使用( 这很有趣,请不要在生产中使用 ,这就是为什么要使用 ): 在

  • 问题内容: 我有一个顾客。 当将新行添加到此客户表时,如果新行的(主键)已经在客户表中,则我想使用其他字段对现有(旧)行进行更新。()。 否则(如果不在表中)插入新行。我知道我可以使用触发器在mssql中做到这一点。有没有一种方法可以在mysql中做到这一点。 问题答案: MySQL没有触发器,但是它具有REPLACE和INSERT … ON DUPLICATE KEY UPDATE (请参阅文档

  • 问题内容: 按照MySQL手册“该子句已解析,但所有存储引擎都将忽略它”。因此,我知道简单的解决方案是不可能的,但是还有另一种可行的方法来达到相同的结果吗?也许通过一些触发器或存储过程的使用?如果可以,怎么办? 同样,由于它只是“已解析”,是否还可以避免使用它,因为它没有用? 使用MySQL 5.5.11和InnoDB表 问题答案: 看看这篇有趣的文章 https://wikis.oracle.c

  • 问题内容: 我有一张要从中获取前N条记录的表。记录按值排序,某些记录具有相同的值。我想在这里做的是获取前N条记录的列表,包括并列记录。这是表中的内容: 现在,如果我想获得像这样的前三名 我得到这个: 我想得到的是这个 我计算每条记录的排名,因此我真正想要的是获得前N个排名记录,而不是按值排序的前N个记录。这是我如何计算排名: 在T-SQL中,通过执行以下操作可以实现以下目的: 有谁知道如何在MyS

  • 问题内容: 我想知道与MySQL中一样的TOP关键字的替代方法。我已经阅读了有关SQL Server中的TOP的信息。 在MySQL中,是否还有其他替代方法,或者在MySQL中,我们可以从中获得相同功能的任何其他方法? 问题答案: 排序和限制结果:

  • 问题内容: 这是一个从来没有一个正确答案的问题,我已经在网上搜索了很多次,却找不到解决方案。 它适用于Firefox,Chrome。我的responseText将像Réunion这样返回char,它将显示为奇怪的符号。 我尝试了许多方法,例如编码和解码,在响应文件中设置标头都无效。我没主意了。请帮助某人。 在主文件中,确保设置了内容类型和字符集。 在您的AJAX加载页面中,确保您位于顶部。 问题解