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

SQL-检查表中是否有新行?

万浩淼
2023-03-14
问题内容

我有两个表,例如:

Table A                                  Table B
=======                                  =======

Name         | Color                     Name         | Color
----------------------                   ----------------------
Mickey Mouse | red                       Mickey Mouse | red
Donald Duck  | green                     Donald Duck  | blue
Donald Duck  | blue                      Minnie       | red
Goofy        | black
Minnie       | red

表A是我的源表,表B是目标表。现在,我需要一个查询,该查询可以在表A中找到所有不同的(附加)行,因此可以使用这些行来更新表B。因此,我需要一个查询,该查询从表A中找到以下行:

Name         | Color  
----------------------
Donald Duck  | green  
Goofy        | black

这样的查询有什么好的方法?它应该尽可能高效(避免过多的联接)。谢谢你的帮助!


问题答案:

我将使用NOT EXISTS结构。

SELECT Name, Color
FROM TableA
WHERE NOT EXISTS (
SELECT 1 FROM TableB
WHERE TableA.Name = TableB.Name 
AND TableA.Color = TableB.Color)


 类似资料:
  • 如果表已经存在,如何检查TarantoolSQL?

  • 问题内容: 我希望这是关于如何使用SQL语句检查SQL Server 2000/2005中是否存在表的最终讨论。 当您用Google搜索答案时,会得到很多不同的答案。有官方/后向和向前兼容的方式吗? 这是两种可能的方法。两种方法中的哪一种是标准/最佳方法? 第一种方式: 第二种方式: MySQL提供的简单 陈述。我正在寻找类似的东西。 问题答案: 对于此类查询,最好始终使用INFORMATION_

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

  • 问题内容: 在一个初级Oracle开发人员职位的面试中有人问我这个问题,面试官承认这是一个艰难的过程: 编写查询以检查表’employees_hist’是否与表’employees’完全相同。任何想法如何去做? 编辑:考虑到表可以有重复的记录,因此在这种情况下,简单的MINUS将不起作用。 例子 这两个是不一样的。 问题答案: 解决重复项的一种可能的解决方案是创建一个子查询,该子查询对两个表执行U

  • 问题内容: 我需要使用SQL查询来检查数据库是否完全为空(无表)。如何才能做到这一点? 谢谢您的帮助! 问题答案: 将返回数据库中表(或视图)的实际数量。如果该数字为0,则没有表。

  • 问题内容: 在SQL Server数据库中创建列或表之前,我想检查所需的表和/或列是否存在。 我到处搜索并找到2种方法。 存储过程,我不想使用 通过使用该方法并捕获异常来确定表/列是否存在,这对我来说是一个变通方法,但不是一个完美的解决方案。 还有另一种方法可以检查SQL Server中是否存在表/列吗? 问题答案: 要在创建架构之前检查其是否存在,请执行以下操作: 检查是否存在一列;您可以使用,