SQL exists ºÍin
in ºÍ existsÆäʵͦºÃÇø±ðµÄ.ÇÒ¿´Ï±߻ù±¾¸ÅÄî¡£
in ÊÇÒ»¸ö¼¯ºÏÔËËã·û.
a in {a,c,d,s,d....}
Õâ¸öÔËËãÖÐ,Ç°ÃæÊÇÒ»¸öÔªËØ,ºóÃæÊÇÒ»¸ö¼¯ºÏ,¼¯ºÏÖеÄÔªËØÀàÐÍÊǺÍÇ°ÃæµÄÔªËØÒ»ÑùµÄ¡£ÊµÏֵĶԼ¯ºÏÖеÄÔªËØ½øÐбéÀú£¬ÒÔÈ·¶¨¸ø¶¨µÄÔªËØaÊÇ·ñÓë×Ó²éѯ»òÁбíÖеÄÖµÏàÆ¥Åä¡£
in ÔËËãÓÃÔÚsqlÓï¾äÖÐ,ËüºóÃæ´øµÄselect Ò»¶¨ÊÇѡһ¸ö×Ö¶Î,¶ø²»ÊÇselect *¡£
existsÊÇÒ»¸ö´æÔÚÅжÏ,Ö¸¶¨Ò»¸ö×Ó²éѯ£¬¼ì²âÐеĴæÔÚ¡£Èç¹ûºóÃæµÄ²éѯÖÐÓнá¹û,ÔòexistsÎªÕæ,·ñÔòΪ¼Ù.
±ÈÈç˵ÄãÒªÅжÏij°àÊÇ·ñ´æÔÚÒ»¸öÃûΪ"СÃ÷"µÄѧÉú,Äã¿ÉÒÔÓÃin ÔËËã:
"СÃ÷" in (select sname from student)
ÕâÑù(select sname from student) ·µ»ØµÄÊÇÒ»¸öÈ«°àÐÕÃûµÄ¼¯ºÏ,inÓÃÓÚÅжÏ"СÃ÷"ÊÇ·ñΪ´Ë¼¯ºÏÖеÄÒ»¸öÊý¾Ý;
ͬʱ,ÄãÒ²¿ÉÒÔÓÃexistsÓï¾ä:
exists (select * from student where sname="СÃ÷")
ÕâÁ½¸öº¯ÊýÊDz¶àµÄ, µ«ÊÇÓÉÓÚÓÅ»¯·½°¸µÄ²»Í¬, ͨ³£NOT EXISTSÒª±ÈNOT IN Òª¿ì, ÒòΪNOT EXISTS¿ÉÒÔʹÓýáºÏËã·¨¶øNOT IN¡¡¾Í²»ÐÐÁË£¬¶øEXISTSÔò²»ÈçIN¿ì, ÒòΪÕâʱºòIN¿ÉÄܸü¶àµÄʹÓýáºÏËã·¨.
select * from ±íA where exists(select * from ±íB where ±íB.id=±íA.id)
Õâ¾äÏ൱ÓÚ
select * from ±íA where id in (select id from ±íB)
¶ÔÓÚ±íAµÄÿһÌõÊý¾Ý,¶¼Ö´ÐÐselect * from ±íB where ±íB.id=±íA.idµÄ´æÔÚÐÔÅжÏ,Èç¹û±íBÖдæÔÚ±íAµ±Ç°ÐÐÏàͬµÄid,ÔòexistsÎªÕæ,¸ÃÐÐÏÔʾ,·ñÔò²»ÏÔʾ
exitsÊʺÏÄÚСÍâ´óµÄ²éѯ£¬inÊʺÏÄÚ´óÍâСµÄ²éѯ
exits Ï൱ÓÚ´æÔÚÁ¿´Ê£º±íʾ¼¯ºÏ´æÔÚ,Ò²¾ÍÊǼ¯ºÏ²»Îª¿ÕÖ»×÷ÓÃÒ»¸ö¼¯ºÏ.ÀýÈç exist P ±íʾP²»¿ÕÊ±ÎªÕæ; not exist P±íʾpΪ¿Õʱ ÎªÕæ in±íʾһ¸ö±êÁ¿ºÍÒ»Ôª¹ØÏµµÄ¹ØÏµ¡£ÀýÈ磺s in P±íʾµ±sÓëPÖеÄij¸öÖµÏàµÈʱ ÎªÕæ; s not in P ±íʾsÓëPÖеÄÿһ¸öÖµ¶¼²»ÏàµÈʱ ÎªÕæ¡£
ÌØ±ðÓ¦Óãº
ÓÉÓÚin ÔËËãÓÃÔÚsqlÓï¾äÖÐ,ËüºóÃæ´øµÄselect Ò»¶¨ÊÇѡһ¸ö×Ö¶Î,¶ø²»ÊÇselect *¡£ËùÒÔÈç¹ûÔÚ²éѯÖÐÐèÒªÓõ½Áбí¶ÔÓ¦Ò»Ìõ¼Ç¼µÄ¶à¸ö×ֶεÄʱºò£¬Õâʱin¾Í²»ÊÊÓÃÁË£¬¶øÖ»ÄÜÓÃexists¡£
±ÈÈçÓÐÁ½¸ö±í¡£
ר¼Ò×é±í group
GroupId , MasterJury(Ö÷ÆÀ),SecondJury1(¸±ÆÀ1),SecondJury2£¨¸±ÆÀ2£©
ר¼Ò³ÉÔ±±í expert
UserId,UserName
ר¼ÒÆÀ·Ö±í scores
userid, scoreItem,score
ÕâʱÈçºÎÒª¶ÁÈ¡³öij¸öר¼Ò×éµÄ³ÉÔ±²¢ÏÔʾÈçÏÂÐÎʽ¾ÍÓеãÀ§ÄÑÁË
Ö÷ÆÀÈ
Ïà¹ØÎĵµ£º
´¥·¢Æ÷ʵ¼ÊÉϾÍÊÇÒ»ÖÖÌØÊâÀàÐ͵Ĵ洢¹ý³Ì£¬ÆäÌØÊâÐÔ±íÏÖÔÚ£ºËüÊÇÔÚÖ´ÐÐÌØ¶¨µÄT-SQL ×Ô¶¯Ïà¼ÓµÄ¡£
´¥·¢Æ÷·ÖΪÁ½Àࣺ
&nbs ......
MySQL
ÊÇÒ»¸öÕæÕýµÄ¶àÓû§¡¢¶àÏß³ÌSQLÊý¾Ý¿â·þÎñÆ÷¡£SQL£¨½á¹¹»¯²éѯÓïÑÔ£©ÊÇÊÀ½çÉÏ×îÁ÷Ðеĺͱê×¼»¯µÄÊý¾Ý¿âÓïÑÔ¡£MySQL
ÊÇÒÔÒ»¸ö¿Í»§»ú/·þÎñÆ÷½á¹¹µÄʵÏÖ£¬ËüÓÉÒ»¸ö·þÎñÆ÷ÊØ»¤³ÌÐòmysqld
ºÍºÜ¶à²»Í¬µÄ¿Í»§³ÌÐòºÍ¿â×é³É¡£
SQLÊÇÒ»ÖÖ±ê×¼»¯µÄÓïÑÔ£¬ËüʹµÃ´æ´¢¡¢¸üкʹæÈ¡ÐÅÏ¢¸üÈÝÒס£ÀýÈ磬ÄãÄÜÓÃSQLÓïÑÔΪһ¸öÍøÕ¾¼ìË ......
if object_id('tb') is not null drop table tb
go
create table tb([A] varchar(10),[B] int)
insert tb
select 'bcd',1 union all
select 'bcde',2 union all
select 'cd',3
go
¸öÈË·ÖÎöÕâµÀÌâµÄ˼·ÊÇ£º
ͨ¹ýSubstring() À´Ñ»··Ö¸î B ÁÐϵÄ×Ö·û´®¡£¡£
--ÏëµÃµ½µÄ½á¹û£º
/**
a b& ......
< type="text/javascript">
< type="text/javascript">
Èç×ªÔØ£¬Çë×¢Ã÷³ö´¦£ºhttp://blog.csdn.net/robinson_0612/archive/2009/11/07/4783702.aspx
Ëæ×ŵ±½ñÊý¾Ý¿âµÄÈÝÁ¿Ô½À´Ô½¿ìµÄ³¯×ÅÔÚ´óÐÍÊý¾Ý¿â»ò³¬´óÐÍÊý¾Ý¿âµÄ·¢Õ¹£¬¶ÔÓÚÊý¾Ý¿âÖеĴóÐͱíÒÔ¼°¾ßÓи÷ÖÖ·ÃÎÊģʽµÄ±íµÄ¿ÉÉìËõÐ ......
DATEDIFF(²ÎÊýÒ»,²ÎÊý¶þ,²ÎÊýÈý) ---²ÎÊýÒ»£ºyear month day; ²ÎÊý¶þ£º±È½ÏµÄÆðʼÈÕÆÚ,ĬÈÏ1900-1-1£»²ÎÊýÈý£º±È½ÏµÄÈÕÆÚ¡£
eg:DATEDIFF(year,0,getdate())±íʾ±È½Ï0£¨Ä¬ÈÏ1900-1-1£©µ½µ±Ç°µÄÈÕÆÚÏë²î¼¸Äê
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) -- È¡µÃ±¾ÔµĵÚÒ»Ìì
SELECT DATEADD(wk, D ......