Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

¸ßЧµÄSQLÓï¾äÖ®·ÖÎöº¯Êý

¸ßЧµÄSQLÓï¾äÖ®·ÖÎöº¯Êý--row_number() /rank()/dense_rank
Oracle·ÖÎöº¯ÊýRANK(),ROW_NUMBER(),LAG()µÈµÄʹÓ÷½·¨
ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2)
±íʾ¸ù¾ÝCOL1·Ö×飬ÔÚ·Ö×éÄÚ²¿¸ù¾Ý COL2ÅÅÐò
¶øÕâ¸öÖµ¾Í±íʾÿ×éÄÚ²¿ÅÅÐòºóµÄ˳Ðò±àºÅ£¨×éÄÚÁ¬ÐøµÄΨһµÄ£©
RANK() ÀàËÆ£¬²»¹ýRANK ÅÅÐòµÄʱºò¸úÅÉÃû´ÎÒ»Ñù£¬¿ÉÒÔ²¢ÁÐ2¸öµÚÒ»ÃûÖ®ºó ÊǵÚ3Ãû
LAG ±íʾ ·Ö×éÅÅÐòºó £¬×éÄÚºóÃæÒ»Ìõ¼Ç¼¼õÇ°ÃæÒ»Ìõ¼Ç¼µÄ²î£¬µÚÒ»Ìõ¿É·µ»Ø NULL
BTW: EXPERT ONE ON ONE ÉϽ²µÄ×îÏêϸ,»¹ÓкܶàÏà¹ØÌØÐÔ£¬Îĵµ¿´ÆðÀ´±È½Ï·Ñ¾¢
row_number()ºÍrownum²î²»¶à£¬¹¦Äܸüǿһµã£¨¿ÉÒÔÔÚ¸÷¸ö·Ö×éÄÚ´Ó1¿ªÊ±ÅÅÐò£©
rank()ÊÇÌøÔ¾ÅÅÐò£¬ÓÐÁ½¸öµÚ¶þÃûʱ½ÓÏÂÀ´¾ÍÊǵÚËÄÃû£¨Í¬ÑùÊÇÔÚ¸÷¸ö·Ö×éÄÚ£©
dense_rank()lÊÇÁ¬ÐøÅÅÐò£¬ÓÐÁ½¸öµÚ¶þÃûʱÈÔÈ»¸ú×ŵÚÈýÃû¡£
Ïà±ÈÖ®ÏÂrow_numberÊÇûÓÐÖØ¸´ÖµµÄ
lag£¨arg1,arg2,arg3):
arg1ÊÇ´ÓÆäËûÐзµ»ØµÄ±í´ïʽ
arg2ÊÇÏ£Íû¼ìË÷µÄµ±Ç°ÐзÖÇøµÄÆ«ÒÆÁ¿¡£ÊÇÒ»¸öÕýµÄÆ«ÒÆÁ¿£¬Ê±Ò»¸öÍù»Ø¼ìË÷ÒÔǰµÄÐеÄÊýÄ¿¡£
arg3ÊÇÔÚarg2±íʾµÄÊýÄ¿³¬³öÁË·Ö×éµÄ·¶Î§Ê±·µ»ØµÄÖµ¡£
ÓÐЩʱºòÎÒÃÇÏ£ÍûµÃµ½Ö¸¶¨Êý¾ÝÖеÄǰnÁУ¬Ê¾ÀýÈçÏ£º
µÃµ½Ã¿¸ö²¿ÃÅнˮ×î¸ßµÄÈý¸ö¹ÍÔ±£º
ÏÈ´´½¨Ê¾Àý±í
create table emp
as
select * from scott.emp;
alter table emp
add constraint emp_pk
primary key(empno);
create table dept
as
select * from scott.dept;
alter table dept
add constraint dept_pk
primary key(deptno);
ÏÈ¿´Ò»ÏÂrow_number() /rank()/dense_rank()Èý¸öº¯ÊýÖ®¼äµÄÇø±ð
 select emp.deptno,emp.sal,emp.empno,row_number() over (partition by deptno order by sal desc) row_number,  --1,2,3
  rank() over (partition by deptno order by sal desc) rank, --1,1,3
  dense_rank() over (partition by deptno order by sal desc) dense_rank from emp --1,1,2
½á¹ûÈçÏÂ:
10    5000.00    7839    1  &nbs


Ïà¹ØÎĵµ£º

AccessºÍSQL2000ÖÐÓï¾äµÄÇø±ð

1 £¬¶ÔÓÚÈÕÆÚ×Ö¶Î×Ö¶Î
access±íʾΪ£º#1981-28-12#
SQLSERVER2000±íʾΪ£º''1981-02-12''
2,SQLÓï¾äÇø±ð£¬select ,update ÔÚ¶Ôµ¥±í²Ù×÷ʱ¶¼²î²»¶à£¬
µ«¶à±í²Ù×÷ʱupdateÓï¾äµÄÇø±ðACCESSÓëSQLSERVERÖеÄUpdateÓï¾ä¶Ô±È:
SQLSERVERÖиüжà±íµÄUpdateÓï¾ä:
Update Tab1
SET a.Name = b.Name
from Tab1 a,Tab2 b
Whe ......

sqlÓï¾äµÄʹÓÃ

ÒÔÏÂÊÇÎÒÔÚѧϰÖеĵãµÎ¼Ç¼£¬Èç¹ûÓдíÎóµÄµØ·½»òÕßȱÉÙ²¿·Ö£¬Çë¸÷λ´óÏÀ²»ÁßÖ¸½Ì¡£Ð¡µÜÔÚ´Ëл¹ýÁË
1.select count£¨*£© ºÍselect count£¨id£© Ö®¼äµÄÇø±ð¡£
select count(*) ͳ¼ÆËùÓмǼ¸öÊý£¬°üÀ¨¿Õ¼Ç¼¡£
Select count(Id) ͳ¼ÆËùÓмǼ¸öÊý£¬²»°üÀ¨null¼Ç¼¡£
2.delete & truncate µÄÇø±ð
trunc ......

ͨ¹ýSQL½«ÎļþÄÚÈÝ´æÈë×Ö¶Î

ËäȻֱ½Ó½«ÎļþÄÚÈÝ´æÈëÊý¾Ý¿â×ֶεÄÇé¿ö²»¶à£¬²»¹ýÔÚ¶ÔÓÚÎļþÄÚÈݻᷢÉú±ä»¯µÄÇé¿öÏ´æÈëÊý¾Ý¿â×Ö¶ÎÒ²²»Ê§ÎªÒ»ÖÖ·½·¨¡£
Æäʵ·½·¨ºÜ¼òµ¥£¬ÕâÀïÓõ½Ò»¸öload_fileº¯Êý£¬²»ÖªµÀÊDz»ÊÇÎÒϵÄMYSQLÊÖ²áÓÐÎÊÌâ¡£ÎÒÔÚÕÒÕâ¸öº¯ÊýµÄʱºòË÷ÒýºÍÄÚÈݲ»¶ÔÓ¦¡£
Ê×ÏÈÊǽ¨±íÓï¾ä
 create table test (id int,file blob);
²åÈëÓï¾ ......

Excelµ¼Èëµ½SQLµÄÒ»¸öÐÂ˼·

/*
±ÈÈçExcelÓÐÁ½ÁУ¬AÁкÍBÁÐÐèÒªµ¼Èëµ½SQL±íÖУ¬·´ÕýÎÒÒѾ­Óм¸Äê²»ÓÃDTSÖ®ÀàµÄ¹¤¾ßÁË¡£
ÔÚExcelÖеÄеÄÒ»ÁÐÖУ¬Ö±½Óд¹«Ê½
=CONCATENATE("Insert #tmp values('",A1,"','",B1,"')")
°ÑÿһÐж¼Éè³ÉͬÑùµÄ¹«Ê½(Ë«»÷¼´¿ÉÍê³É)¡£
°ÑÕûÁи´ÖÆÏÂÀ´£¬·Åµ½²éѯ·ÖÎöÆ÷ÖÐÖ±½ÓÔËÐоͺÃÁË¡£
Ò²¿ÉÒ԰ѹ«Ê½¸Ä³É =CONCATEN ......

SQLÊÖ¹¤×¢Èë´óÈ«

±È·½ËµÔÚ²éѯidÊÇ50µÄÊý¾Ýʱ£¬Èç¹ûÓû§´«½üÀ´µÄ²ÎÊýÊÇ50 and 1=1£¬Èç¹ûûÓÐÉèÖùýÂ˵ϰ£¬¿ÉÒÔÖ±½Ó²é³öÀ´£¬SQL ×¢ÈëÒ»°ãÔÚASP³ÌÐòÖÐÓöµ½×î¶à£¬
¿´¿´ÏÂÃæµÄ
1.ÅжÏÊÇ·ñÓÐ×¢Èë
;and 1=1
;and 1=2
2.³õ²½ÅжÏÊÇ·ñÊÇmssql
;and user>0
3.ÅжÏÊý¾Ý¿âϵͳ
;and (select count(*) from sysobjects)>0 mssql ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ