我有一个主表A,还有两个不同的子表(B,C),这些子表通过外键引用到表A中。我想检查B或C表是否存在具有外键fk-1的行。
我尝试从A表中选择使用fk-1选择的B和C表,并使用exists子句检查它们的行是否存在,然后将结果进行逻辑或操作。
我尝试从A表中选择使用fk-1选择的B和C表,并使用exists子句检查它们的行是否存在,然后将结果进行逻辑或操作。
SELECT A.id FROM A where A.id = fk-1 AND
(
EXISTS (select B.id from B where B.fk_1 = fk-1)
OR EXISTS (select C.id from C where C.fk_1 = fk-1)
);
这个能优化吗,或者有更好的方法来处理吗。
提前感谢。