您好我有3个表xyz abc and pqr
,xyz
和abc
的结构相同,但是内部查询子句让我感到困惑,为什么有人放表pqr
当没有必要时,即使没有与该表进行加入。
Insert into xyz
select * from abc where exist (select 1 from pqr where abc.pk_id =1234)
abc.pk_id是表格xyz的主键
注意:我还没有写这个查询,这是生产中存在的,请回复。
答案 0 :(得分:4)
同一查询的混淆版本可能会稍微有点混淆:
Insert into xyz
select * from abc where abc.pk_id = 1234 and exists (select 1 from pqr)
换句话说,当pqr不为空时,从abc为指定的pk_id插入记录。
答案 1 :(得分:0)
在此上下文中不需要pqr
表,以下查询应该执行相同的操作:
Insert into xyz
select * from abc where pk_id =1234