gpt4 book ai didi

sql - 如何防止内部 SELECT 返回 NULL?

转载 作者:行者123 更新时间:2023-12-01 00:03:01 24 4
gpt4 key购买 nike

如何防止内部 SELECT 返回 NULL(当没有匹配行时)并强制查询失败。

INSERT INTO tt (t1_id, t2_id) VALUES (
(SELECT id FROM t1 WHERE ...),
(SELECT id FROM t2 WHERE ...)
);

附带问题:这个查询是否有更好的方法(t1_id、t2_id 是外键,但可能为 NULL)?

最佳答案

怎么样:

INSERT INTO tt (t1_id, t2_id)
SELECT t1.id, t2.id FROM t1, t2 WHERE ...

只需确保 SELECT 返回您想要INSERT 的内容 - 所以如果 t1.idt2 可能的话.id 为 NULL,然后在 WHERE 条件中包含相关子句(... AND t1.id IS NOT NULL AND t2.id IS NOT NULL ...)。

如果有可能出现重复的行,您可能还更喜欢使用 SELECT DISTINCT

编辑:如果您需要来自同一表的不同行的 2 个 ID:

SELECT t1.id, t2.id FROM some_table AS t1, some_table AS t2
WHERE ...

关于sql - 如何防止内部 SELECT 返回 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1814391/

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