if not exists(select 1 from city where name='shanghai')
begin
insert into city (name) values( 'shanghia' )
end
select name from city
说明:
exists (sql 返回结果集为真)
not exists (sql 不返回结果集为真)强调是否有结果集返回,但并不在意返回什么;上面如果表中有shanghai 则子句返回 1 ;如果没有则 执行插入操作;这个1没有实际含义,只是代表是否有结果集返回而已,也可以是别的值
更多详细用法参见:
http://blog.youkuaiyun.com/lihan6415151528/article/details/4466914