Sql 转换子查询
如何将此子查询转换为join查询或更简单的查询,如Sql 转换子查询,sql,sql-server,join,inner-join,sql-insert,Sql,Sql Server,Join,Inner Join,Sql Insert,如何将此子查询转换为join查询或更简单的查询,如 SELECT * FROM ViewBuy99 WHERE Id NOT IN ( SELECT Id FROM Buy99 ) INSERT INTO Buy99 SELECT * FROM ViewBuy99 WHERE Id NOT IN ( SELECT Id FROM Buy99 ) 您可以使用JOIN将其表示为: insert int
SELECT *
FROM ViewBuy99
WHERE Id NOT IN (
SELECT Id
FROM Buy99
)
INSERT INTO Buy99
SELECT *
FROM ViewBuy99
WHERE Id NOT IN (
SELECT Id
FROM Buy99
)
您可以使用
JOIN
将其表示为:
insert into Buy99
select vb.*
from ViewBuy99 vb left join
Buy99 b
on b.id = vb.id
where b.id is null;
但是,我建议不存在
:
insert into Buy99
select vb.*
from ViewBuy99 vb
where not exists (select 1
from Buy99 b
where b.id = vb.id
);
我们不是都喜欢真正的
反连接
语法:-(