gpt4 book ai didi

mysql - 什么 SQL JOIN 用于跨表获取唯一值?

转载 作者:太空宇宙 更新时间:2023-11-03 12:36:08 24 4
gpt4 key购买 nike

假设我有 2 个表 T1 和 T2。我需要表 T1 中不存在于表 T2 中的所有值。该 SQL 会是什么样子?

T1:         T2:
T1.ID T2.ID
T1.Value T2.T1ID
T1.Date T2.Value

最佳答案

I need all values from table T1 that does not exist in table T2. How would that SQL look like?

您的意思是您需要每个 T1.Value 都不匹配任何 T2.Value

如果是这样,你可以使用这样的东西:

SELECT * FROM T1
WHERE Value NOT IN (SELECT Value FROM T2)

但是,MySQL 可能不太擅长为执行此查询找到最佳计划,因此如果您的测量 显示性能问题,请尝试如下操作:

SELECT DISTINCT T1.*
FROM T1 LEFT JOIN T2 ON T1.Value = T2.Value
WHERE T2.ID IS NULL

请注意 DISTINCT 子句,它确保 T1 行不会被 JOIN“相乘”。

甚至像这样,如果您关心T1.Value:

SELECT DISTINCT T1.Value
...

关于mysql - 什么 SQL JOIN 用于跨表获取唯一值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13047821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com