SQL server µÚÈýƪ ¶à±íÁª½Ó²éѯ
¶à±íÁª½Ó²éѯ
Ò»¡¢¶à±íÁª½Ó²éѯµÄ·ÖÀà
¶à±íÁª½Ó²éѯʵ¼ÊÉÏÊÇͨ¹ý¸÷¸ö±íÖ®¼ä¹²Í¬ÁеĹØÁªÐÔÀ´²éѯÊý¾ÝµÄ£¬ËüÊǹØÏµÊý¾Ý¿â²éѯ×îÖ÷ÒªµÄÌØÕ÷¡£
Áª½Ó²éѯ¿É·ÖΪÈý´óÀ࣬·ÖÁíΪ£º
1£® ÄÚÁª½Ó¡£
2£® ÍâÁª½Ó¡£
3£® ½»²æÁª½Ó¡£
ÄÇôÎÒÃÇÒ»ÆðÀ´¿´Ò»ÏÂÈçºÎʹÓöà±íÁª½Ó²éѯ¡£
A. ÄÚÁª½Ó£ºÄÚÁª½ÓÊÇ×îµäÐÍ¡¢×î³£ÓõÄÁª½Ó²éѯ£¬Ëü¸ù¾Ý±íÖй²Í¬µÄÁÐÀ´½øÐÐÆ¥Å䣬ֻÓÐÂú×ãÆ¥ÅäµÄÌõ¼þµÄÊý¾Ý²ÅÄܱ»²éѯ³öÀ´¡£Í¨³££¬Á½¸ö±í´æÔÚÖ÷Íâ¼ü¹ØÏµÊ±»áʹÓõ½ÄÚÁª½Ó²éѯ¡£
ÄÚÁª½á³£Ê¹ÓÓ=”±È½ÏÔËËã·ûÀ´ÅжÏÁ½ÁÐÊý¾ÝÊÇ·ñÏàµÈ£¬ÔÚÕâÀïÎÒÃÇͨ¹ý¼¸¸öʵÀýÀ´Ñ§Ï°ÄÚÁª½Ó²éѯ¡£
a) ÏÈÔÚSQL Server 2005ÖÐн¨Á½¸ö±íusersTableºÍusersNote,Á½±íµÄÄÚÈÝÈçÏÂÃæµÄͼÖÐËùʾ¡£
±íusersTable
±íusersNote
b) ÔÚ½¨ºÃÏàÓ¦µÄ±íºó£¬ÎÒÃǾͿÉÒÔ½øÐжà±í²éѯÁË£¬Ê×ÏÈÄÚÁª½ÓÎÒÃÇÓÐÁ½ÖÖ·½Ê½À´²éѯ¡£
µÚÒ»ÖÖ£ºÖ±½ÓÔÚWhereÌõ¼þÀïͨ¹ý±í´ïʽÀ´½øÐбíÖ®¼äµÄ¹ØÁª¡£
select usersTable.myuser,usersTable.mypwd,
usersNote.useraddress,userphonenumber
--²éѯÏÔʾdbo.usersTableºÍdbo.usersNote±íÖеÄÖ¸¶¨µÄÄÚÈÝ
from dbo.usersTable,dbo.usersNote
--ÄÚÁª½ÓÁ½±í
where usersTable.myuser=usersNote.username
--Á½±íÆ¥ÅäµÄÌõ¼þ
ÔÚSQL 2005ÖеIJéѯ½á¹ûÈçÏ£º
µÚ¶þÖÖ£ºÍ¨¹ýʹÓÃInner Join¹Ø¼ü×Ö½øÐбíÖ®¼äµÄ¹ØÁª¡£
select usersTable.myuser,usersTable.mypwd,
usersNote.useraddress,userphonenumber
from dbo.usersTable inner join dbo.usersNote
on (usersTable.myuser=usersNote.username)
²éѯ½á¹ûÈçÏ£º
B. ÍâÁª½Ó£ºÍâÁª½ÓÓÖ¿É·ÖΪ×óÍâÁª½Ó¡¢ÓÒÍâÁª½Ó¡¢ÍêÕûÁª½ÓÈýÖÖ¡£
ÍâÁª½ÓÓëÄÚÁª½ÓÇø±ðÔÚÓÚ£¬²»½öÏÔʾÁ½¸ö±í¹ØÁª×Ö¶ÎÆ¥ÅäµÄ¼Ç¼£¬Í¬Ê±²»Æ¥Åä¼Ç¼¸ù¾ÝÍâÁª½ÓÀàÐÍÒ²»áÏÔʾ¡£
a) ×óÍâÁª½Ó£ºLeft Join »ò Left Outer Join¡£
×óÍâÁª½ÓµÄ½á¹û¼¯°üÀ¨Left Join×Ó¾äÖÐÖ¸¶¨µÄ×ó±íµÄËùÓÐÐУ¬¶ø²»½ö½öÊÇÁª½ÓÁÐËùÆ¥ÅäµÄÐС£Èç¹û
Ïà¹ØÎĵµ£º
¡¡¡¡1. SQL ServerµÄϵͳ±í
¡¡¡¡MicrosoftµÄSQL ServerÊÇÒ»¸ö¿ÉÉìËõµÄ¸ßÐÔÄÜÊý¾Ý¿â¹ÜÀíϵͳ£¬×¨Îª·Ö²¼Ê½¿Í»§»ú/·þ
ÎñÆ÷»·¾³¶øÉè¼Æ£¬SQL Server¼¸ºõ½«ËùÓеÄÅäÖÃÐÅÏ¢¡¢°²È«ÐÔÐÅÏ¢ºÍ¶ÔÏóÐÅÏ¢¶¼´æ´¢ÔÚÁËËü×Ô
ÉíµÄϵͳ±íÖУ¬¶øÏµÍ³±í´æÔÚÓÚÿ¸ö¶ÀÁ¢µÄÊý¾Ý¿âÖУ¬´æ´¢Ò»¸öÌØ¶¨Êý¾Ý¿â¶ÔÏóÐÅÏ¢µÄϵͳ±í
ͨ³£³ÆÎªÊý¾Ý¿âĿ¼£¬M ......
Ë®»·¾³¼à²âÊý¾Ý´æ´¢½á¹¹ÖÐÓÐÒ»ÖÖģʽ½Ð×ö"Êú±íģʽ"£¬¼´ÔÚ¼à²âÊý¾Ý±íÖУ¬Ä³¸öµãλÔÚij¸öʱ¼äµãÉϸ÷¼à²âÏîÄ¿µÄŨ¶È²â¶¨ÖµÔÚÎïÀí±íÖд洢ÔÚ¶àÌõ¼Ç¼ÖУ¬³ÊÊú×´·Ö²¼¡£¼à²âÊý¾Ý±íÖаüº¬²âµã´úÂë¡¢¼à²âʱ¼ä¡¢¼à²âÏîÄ¿´úÂ롢Ũ¶È²â¶¨ÖµµÈ£¬ËùÓмà²âÏîÄ¿µÄŨ¶È²â¶¨Öµ¶¼´æ´¢ÔÚͬһ¸ö×Ö¶ÎÖУ¬¼ÓÒÔ¼à²âÏîÄ¿´úÂë×÷ÎªÇø·Ö×ֶΡ£
"Êú ......
Ëø»úÖÆ
NOLOCKºÍREADPASTµÄÇø±ð¡£
1. ¿ªÆôÒ»¸öÊÂÎñÖ´ÐвåÈëÊý¾ÝµÄ²Ù×÷¡£
BEGIN TRAN t
INSERT INTO Customer
SELECT 'a','a'
2. Ö´ÐÐÒ»Ìõ²éѯÓï¾ä¡£
SELECT * from Customer WITH (NOLOCK)
½á¹ûÖÐÏÔʾ"a"ºÍ"a"¡£µ±1ÖÐÊÂÎñ»Ø¹öºó£¬ÄÇôa½«³ÉΪÔàÊý¾Ý¡£(×¢:1ÖеÄÊÂÎñδÌá½») ¡£NOLOCK±íÃ÷ûÓжÔÊý¾Ý±íÌí¼Ó¹²Ï ......
Ó¦ÓÃÖз¢ÏÖsqlÖеÄand¼°orµÄÖ´ÐÐЧÂÊÎÊÌâ
£ó£ñ£ìÓï¾ä£¬ÎªÊ²Ã´°Ñ×îºóµÄ£ï£ò»»³É£á£î£ä£¬²éѯµÄ¾ÍºÜ¿ì£¬Ê¹ÓõÄÊÇmssql·¶ÀýÖÐnorthwindÊý¾Ý¿âΪÀý£¬
select * from Orders a left join [Order Details] b on a.orderid = b.orderid
where a.customerid like '%ics%' or b.productid in (42,72)
×·×ÙÁËÓï¾äµÄÖ´Ðз½°¸,·¢ÏÖ ......
Student(S#,Sname,Sage,Ssex) ѧÉú±í
Course(C#,Cname,T#) ¿Î³Ì±í
SC(S#,C#,score) ³É¼¨±í
Teacher(T#,Tname) ½Ìʦ±í
ÎÊÌ⣺
1¡¢²éѯ“001”¿Î³Ì±È“002”¿Î³Ì³É¼¨¸ßµÄËùÓÐѧÉúµÄѧºÅ£»
select a.S# from (select s#,score from SC where C#='001') a,(select s#,score
fr ......