SQLÖÐexistsºÍinµÄÇø±ð
¼ÙÉèÈçÏÂÓ¦Óãº
Á½Õű헗Óû§±íTDefUser£¨userid£¬address,phone£©ºÍÏû·Ñ±íTAccConsume(userid,time,amount)£¬ÐèÒª²éÏû·Ñ³¬¹ý5000µÄÓû§¼Ç¼¡£
ÓÃexists:
select * from TDefUser
where exists (select 1 from TAccConsume where TDefUser.userid=TAccConsume.userid and TAccConsume.amount>5000)
ÓÃin:
select * from TDefUser
where userid in (select userid from TAccConsume where TAccConsume.amount>5000)
ͨ³£Çé¿öϲÉÓÃexistsÒª±ÈinЧÂʸߡ£
////
exists()ºóÃæµÄ×Ó²éѯ±»³Æ×öÏà¹Ø×Ó²éѯ ËûÊDz»·µ»ØÁбíµÄÖµµÄ.Ö»ÊÇ·µ»ØÒ»¸ötrue»òfalseµÄ½á¹û(ÕâÒ²ÊÇΪʲô×Ó²éѯÀïÊÇ"select 1"µÄÔÒò£¬»»³É"select 6"ÍêȫһÑù£¬µ±È»Ò²¿ÉÒÔselect×ֶΣ¬µ«ÊÇÃ÷ÏÔЧÂʵÍЩ)
ÆäÔËÐз½Ê½ÊÇÏÈÔËÐÐÖ÷²éѯһ´Î£¨ÏȵóöÖ÷²éѯµÄ½á¹û£© ÔÙ¸ù¾ÝÖ÷²éѯÖеÄÿһÐÐÈ¥×Ó²éѯÀïÈ¥²éѯÓëÆä¶ÔÓ¦µÄ½á¹û.Èç¹ûÊÇtrueÔòÊä³ö,·´Ö®Ôò²»Êä³ö.
in()ºóÃæµÄ×Ó²éѯ ÊÇ·µ»Ø½á¹û¼¯µÄ,»»¾ä»°ËµÖ´ÐдÎÐòºÍexists()²»Ò»Ñù.×Ó²éѯÏȲúÉú½á¹û¼¯,È»ºóÖ÷²éѯÔÙÈ¥½á¹û¼¯ÀïÈ¥ÕÒ·ûºÏÒªÇóµÄ×Ö¶ÎÁбíÈ¥.·ûºÏÒªÇóµÄÊä³ö,·´Ö®Ôò²»Êä³ö.
£¨µÚÒ»´Î²éѯÕÒ³ö>5000µÄ½á¹û£¬µÚ¶þ´Î²éѯÅжÏuseridÊÇ·ñÔÚ½á¹ûÖУ©
////
±ÈÈçÓû§±íTDefUser£¨userid£¬address,phone£©£¬Ïû·Ñ±íTAccConsume(userid,time,amount)Êý¾ÝÈçÏ£º
Ïû·Ñ±í¾Û¼¯Ë÷ÒýÊÇuserid,time
Êý¾Ý£¨×¢ÒâÒòΪÓоۼ¯Ë÷Òý,ʵ¼Ê´æ´¢Ò²Êǰ´ÒÔÏ´ÎÐòµÄ£©
1 2006-1-1 200
1 2006-1-2 300
1 2006-1-2 500
1 2006-1-3 2000
1 2006-1-3 2000
1 2006-1-4 400
1 2006-1-5 500
2 2006-1-1 200
2 2006-1-2 300
2 2006-1-2 500
2 2006-1-3 2000
2 2006-1-3 6000
2 2006-1-4 400
2 2006-1-5 8000
3 2006-1-1 7000
3 2006-1-2 30000
3 2006-1-2 50000
3 2006-1-3 20000
Óï¾ä£º
select * from TDefUser
where exists (select 1 from TAccConsume where TDefUser.userid=TAccConsume.userid and TAccConsume.amount>5000)
¶ÔÓÚuserid=1£¬ÐèÒªÕÒËùÓмǼ£¬²Å
Ïà¹ØÎĵµ£º
SQL²Ù×÷È«¼¯
ÏÂÁÐÓï¾ä²¿·ÖÊÇMssqlÓï¾ä£¬²»¿ÉÒÔÔÚaccessÖÐʹÓá£
SQL·ÖÀࣺ
DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
1¡¢ËµÃ ......
ACCESS SQLÓï·¨²Î¿¼
=================
Ò». »ù´¡¸ÅÄî
¿ÉÒÔʹÓõÄÊý¾ÝÀàÐÍÈçÏ£º
1. TEXT£ºÎı¾ÐÍ£¨Ö¸¶¨³¤¶Èʱ£©£¬±¸×¢ÐÍ£¨²»Ö¸¶¨³¤¶Èʱ£©£»
2.
CHAR£¬NCHAR£¬VARCHAR£¬NVARCHAR£ºÎı¾ÐÍ£¬¿ÉÒÔÖ¸¶¨³¤¶È£¬·ñÔòĬÈÏֵΪ255£¡
3. ......
Ò»¡¢ÉîÈëdz³öÀí½âË÷Òý½á¹¹
¡¡¡¡Êµ¼ÊÉÏ£¬Äú¿ÉÒÔ°ÑË÷ÒýÀí½âΪһÖÖÌØÊâµÄĿ¼¡£Î¢ÈíµÄSQL SERVERÌṩÁËÁ½ÖÖË÷Òý£º¾Û¼¯Ë÷Òý£¨clustered index£¬Ò²³Æ¾ÛÀàË÷Òý¡¢´Ø¼¯Ë÷Òý£©ºÍ·Ç¾Û¼¯Ë÷Òý£¨nonclustered index£¬Ò²³Æ·Ç¾ÛÀàË÷Òý¡¢·Ç´Ø¼¯Ë÷Òý£©¡£ÏÂÃæ£¬ÎÒÃǾÙÀýÀ´ËµÃ÷һϾۼ¯Ë÷ÒýºÍ·Ç¾Û¼¯Ë÷ÒýµÄÇø±ð£º
¡¡¡¡Æäʵ£¬ÎÒÃǵĺºÓï×Öµäµ ......
ÔÚJAVAÖеÄSQL Óï¾äµÄ±àд·½Ã棬ûÓÐʹÓÃORACLE °ó¶¨±äÁ¿£¬ºÜ´ó³Ì¶ÈÉϽµµÍÁËÊý¾Ý¿âµÄÐÔÄÜ£¬±íÏÖÔÚÁ½¸ö·½Ã棺
1¡¢SQLÓï¾äÓ²·ÖÎö(Hard Parse)Ì«¶à£¬ÑÏÖØÏûºÄCPU×ÊÔ´£¬ÑÓ³¤ÁËSQLÓï¾ä×ܵÄÖ´ÐÐʱ¼ä
SQLÓï¾äµÄÖ´Ðйý³Ì·Ö¼¸¸ö²½Ö裺Óï·¨¼ì²é¡¢·ÖÎö¡¢Ö´ÐС¢·µ»Ø½á¹û¡£ÆäÖзÖÎöÓÖ·ÖΪӲ·ÖÎö(Hard Parse)ºÍÈí·ÖÎö(Soft Pars ......
SQL²Ù×÷È«¼¯
ÏÂÁÐÓï¾ä²¿·ÖÊÇMssqlÓï¾ä£¬²»¿ÉÒÔÔÚaccessÖÐʹÓá£
SQL·ÖÀࣺ
DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
CREATE ......