select @a = N'aa';
set @a = N'aa';
就单个赋值的话没什么区别,不过如能为多变量赋值select一次性赋值要比用set逐个赋值效率高。
where 0 < (select count(*) from table where ...;
where exists(select * from table where ....);
exists执行快,当然具体后面子查询条件是否会引用外层哈旬中的对象的列。 exists检查到有值就返回而且不返回结果集 count需要统计出所有满足条件的再返回一个结果 , 相比下exists执行速度就比较快。