sql Exists in
首先,我们看看exists和in的效率问题,这里我只说明一种测试语句
set statistics io on
sqlstatement
set statistics io off、
或者
set statistics time on
sqlstatement
set statistics time off
从studio里面的消息可以看出问题,我引用网上的一些准则http://www.cnblogs.com/diction/archive/2008/01/18/1043844.html
这里主要说明2个问题:
1.exists 主要是个存在关系,要么存在,则是表里面的全部数据,如果不存在,那么则没有表数据
2.in是集合关系,一般我们如果要用in搭配clause的话应该这样
thisfield in (select thisfield from tb where conditions)
但是exists不存在这种问题
相关文档:
一、使用证书实现主备SQL Server实例的互通
1.在主机和备机上分别创建证书
在主机上执行如下语句:
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'abcdefg';
CREATE CERTIFICATE CERT_HOST_A WITH SUBJECT = 'HOST_A certificate' ,
START_DATE = '01/01/2010';
GO
在备机上执行如下语句:
USE master; ......
sql="select * from (select top 4 ID,SmallPic,NewsNameSi,EndDate,ContentSi,SortID from achi_news where ProductProperty=1 and IsOk=1 and HomeForcePage=1 and HomeEndTime>getDate() and isdate(HomeEndTime)=1 order by HomeorderNum asc )a union all select * from (select top 4 ID,SmallPic,NewsNameS ......
[SQL SERVER] 跨服务器查询
[SQL SERVER] 跨服务器查询
方法一:
用OPENDATASOURCE
下面是个跨SQLServer查询的示例
Select TableA.*,TableB.* from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=ServerA;User ID ......
sql 两表关联 更新
update set from 语句格式
Sybase和SQL SERVER:UPDATE...SET...from...WHERE...的语法,实际上从源表获取更新数据。
在 SQL 中:
Update A SET A.dept =B.name
from A LEFT JOIN B ON B.ID=A.dept_ID ......
经过了几次的测试终于成功了
declare @Year Int,
@Month int,
@Day int,
@Temp_No varchar(12),
@NeedNo varchar(4),
......