SQL 表中不匹配的行:选择不相交的数据
在数据库管理中,经常需要从一张表中检索记录不存在于另一个。这称为选择不匹配的行。考虑这样的场景:您有两个表 Table1 和 Table2,每个表都包含带有 FirstName、LastName 和 BirthDate 列的记录。
问题: 识别并显示 Table1 中不存在的行表2.
解:
子查询可以构造为根据 Table2 中不存在匹配行的特定列从 Table1 中选择行。
修改后的查询:
SELECT * FROM Table1 WHERE FirstName NOT IN (SELECT FirstName FROM Table2)
在此修改后的查询中,我们指定 FirstName 列进行比较,因为它是两个表中行的唯一标识符。 NOT IN 子句确保仅选择 Table1 中具有 Table2 中不存在的 FirstName 值的行。
此查询将返回 Table1 中不存在于 Table2 中的所有行,从而提供唯一记录的列表。它应该产生输出:
+-----------+----------+------------+ | FirstName | LastName | BirthDate | +-----------+----------+------------+ | Yamila | Diaz | 1972-03-04 | +-----------+----------+------------+
此解决方案利用子查询逻辑来执行比较并有效地选择两个表之间不相交的记录。
以上是如何选择两个SQL表之间不匹配的行?的详细内容。更多信息请关注PHP中文网其他相关文章!