SQLServerÊý¾Ý¼¯ºÏµÄ½»¡¢²¢¡¢²î¼¯ÔËËã
SQLServer2005ͨ¹ýintersect,union,exceptºÍÈý¸ö¹Ø¼ü×Ö¶ÔÓ¦½»¡¢²¢¡¢²îÈýÖÖ¼¯ºÏÔËËã¡£
ËûÃǵĶÔÓ¦¹ØÏµ¿ÉÒԲο¼ÏÂÃæÍ¼Ê¾
Ïà¹Ø²âÊÔʵÀýÈçÏ£º
use tempdb
go
if (object_id ('t1' ) is not null ) drop table t1
if (object_id ('t2' ) is not null ) drop table t2
go
create table t1 (a int )
insert into t1 select 1 union select 2 union select 3
create table t2 (a int )
insert into t2 select 3 union select 4 union select 5
go
select * from t1 union select * from t2
go
/* Çó±í²¢¼¯
1
2
3
4
5*/
select * from t1 union all select * from t2
go
/*Çó±í²¢¼¯²»¹ýÂËÖØ¸´
1
2
3
3
4
5*/
select * from t1 except select * from t2
go
/*Çót1¶Ôt2µÄ²î¼¯
1
2*/
select * from t1 intersect select * from t2
go
/*Çót1¶Ôt2µÄ½»¼¯
3*/
±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔØÇë±êÃ÷³ö´¦£ºhttp://blog.csdn.net/jinjazz/archive/2009/09/07/4527863.aspx
Ïà¹ØÎĵµ£º
SqlserverµÃµ½ºº×ÖÆ´ÒôÊ××Öĸ´æ´¢¹ý³Ì:
create function [dbo].[fun_getPY]
(
@str nvarchar(4000)
)
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)
--Èç¹û·Çºº×Ö×Ö·û£¬·µ»ØÔ×Ö·û
& ......
HOLDLOCK ½«¹²ÏíËø±£Áôµ½ÊÂÎñÍê³É£¬¶ø²»ÊÇÔÚÏàÓ¦µÄ±í¡¢ÐлòÊý¾ÝÒ³²»ÔÙÐèҪʱ¾ÍÁ¢¼´ÊÍ·ÅËø¡£HOLDLOCK µÈͬÓÚ SERIALIZABLE¡£
NOLOCK ²»Òª·¢³ö¹²ÏíËø£¬²¢ÇÒ²»ÒªÌṩÅÅËüËø¡£µ±´ËÑ¡ÏîÉúЧʱ£¬¿ÉÄÜ»á¶ÁȡδÌá½»µÄÊÂÎñ»òÒ»×éÔÚ¶ÁÈ¡ÖÐ¼ä»Ø¹öµÄÒ³Ãæ¡£ÓпÉÄÜ·¢ÉúÔà¶Á¡£½öÓ¦ÓÃÓÚ SELECT Óï¾ä¡£
PAGLOCK ÔÚͨ³£Ê¹Óõ¥¸ö±íËøµ ......
/*ÓÃCASE WHENʵÏÖsqlserverÊý¾Ý¿âµÄ·ÖÀà»ã×ܹ¦ÄÜ*/
/*Àý1£ºÍ³¼Æ¸öÊý*/
/*±í½á¹¹
id cityid major
1 1 A
2 1 B
3 2 ......
ÁÙ½üÄêÖÕ£¬ÔÚ¹¤×÷Ö®Óà¶Ô¹¤×÷ºÍѧϰÖÐÓöµ½µÄÎÊÌâÒÔ¼°³£ÓõÄһЩ֪ʶµã×öÁËЩÕûÀí£¬ÒÔ±¸ºóÓᣱ¾ÎÄÉæ¼°µÄÄÚÈÝΪÊý¾Ý¿â,ËãÊǶԿª·¢×ܽá(1)---Êý¾Ý¿âÒ»ÎĵIJ¹³ä¡£
1 ¶ÔÓÚÖ÷¼üÉèÖÃÁËIdentityµÄ±í£¬ÔÚɾ³ý±íÖÐÊý¾ÝºóÔÙÍù±íÖвåÈëÊý¾Ý£¬IdentityÁв»ÊÇ´Ó1ÆðʼÁË£¬Èç¹ûÏëɾ³ýÊý¾ÝºóIndentityÁÐÈÔ´Ó1Æðʼ£¬¿ÉÒÔÓÃÏÂÃæ´úÂëÀ´É¾³ýÊý¾Ý ......