SQLÖÐONºÍWHEREÌõ¼þµÄÇø±ð
Êý¾Ý¿âÔÚͨ¹ýÁ¬½ÓÁ½ÕÅ»ò¶àÕűíÀ´·µ»Ø¼Ç¼ʱ£¬¶¼»áÉú³ÉÒ»ÕÅÖмäµÄÁÙʱ±í£¬È»ºóÔÙ½«ÕâÕÅÁÙʱ±í·µ»Ø¸øÓû§¡£
ÔÚʹÓÃleft jionʱ£¬onºÍwhereÌõ¼þµÄÇø±ðÈçÏ£º
1¡¢onÌõ¼þÊÇÔÚÉú³ÉÁÙʱ±íʱʹÓõÄÌõ¼þ£¬Ëü²»¹ÜonÖеÄÌõ¼þÊÇ·ñÎªÕæ£¬¶¼»á·µ»Ø×ó±ß±íÖеļǼ¡£
2¡¢whereÌõ¼þÊÇÔÚÁÙʱ±íÉú³ÉºÃºó£¬ÔÙ¶ÔÁÙʱ±í½øÐйýÂ˵ÄÌõ¼þ¡£ÕâʱÒѾûÓÐleft joinµÄº¬Ò壨±ØÐë·µ»Ø×ó±ß±íµÄ¼Ç¼£©ÁË£¬Ìõ¼þ²»ÎªÕæµÄ¾ÍÈ«²¿¹ýÂ˵ô¡£
¼ÙÉèÓÐÁ½ÕÅ±í£º
±í1£º
tab1
id size
1 10
2 20
3 30
±í2£º
tab2
size name
10 AAA
20 BBB
20 CCC
Á½ÌõSQL:
1¡¢select * form tab1 left join tab2 on (tab1.size = tab2.size) where tab2.name=’AAA’
2¡¢select * form tab1 left join tab2 on (tab1.size = tab2.size and tab2.name=’AAA’)
µÚÒ»ÌõSQLµÄ¹ý³Ì£º
1¡¢Öмä±í
onÌõ¼þ:
tab1.size = tab2.size
tab1.id tab1.size tab2.size tab2.name
1 10 10 AAA
2 20 20 BBB
2 20 20 CCC
3 30 (null) (null)
2¡¢ÔÙ¶ÔÖмä±í¹ýÂË
where Ìõ¼þ£º
tab2.name=’AAA’
tab1.id tab1.size tab2.size tab2.name
1 10 10 AAA
µÚ¶þÌõSQLµÄ¹ý³Ì£º
1¡¢Öмä±í
onÌõ¼þ:
tab1.size = tab2.size and tab2.name=’AAA’
(Ìõ¼þ²»ÎªÕæÒ²»á·µ»Ø×ó±íÖеļǼ)
tab1.id tab1.size tab2.size tab2.name
1 10 10 AAA
2 20 (null) (null)
3 30 (null) (null)
ÆäʵÒÔÉϽá¹ûµÄ¹Ø¼üÔÒò¾ÍÊÇleft join,right join,full joinµÄÌØÊâÐÔ£¬²»¹ÜonÉϵÄÌõ¼þÊÇ·ñÎªÕæ¶¼»á·µ»Øleft»òright±íÖеļǼ£¬fullÔò¾ßÓÐleftºÍrightµÄÌØÐԵIJ¢¼¯¡£ ¶øinner jionûÕâ¸öÌØÊâÐÔ£¬ÔòÌõ¼þ·ÅÔÚonÖкÍwhereÖУ¬·µ»ØµÄ½á¹û¼¯ÊÇÏàͬµÄ¡£
on¡¢where¡¢havingµÄÇø±ð
on¡¢where¡¢havingÕâÈý¸ö¶¼¿ÉÒÔ¼ÓÌõ¼þµÄ×Ó¾äÖУ¬onÊÇ×îÏÈÖ´ÐУ¬where´ÎÖ®£¬having×îºó¡£ÓÐʱºòÈç¹ûÕâÏȺó˳Ðò²»Ó°ÏìÖмä½á¹ûµÄ»°£¬ÄÇ×îÖÕ½á¹ûÊÇÏàͬµÄ¡£µ«ÒòΪonÊÇÏȰѲ»·ûºÏÌõ¼þµÄ¼Ç¼¹ýÂ˺ó²Å½øÐÐͳ¼Æ£¬Ëü¾Í¿ÉÒÔ¼õÉÙÖмäÔËËãÒª´¦ÀíµÄÊý¾Ý£¬°´Àí˵Ӧ¸ÃËÙ¶ÈÊÇ×î¿ìµÄ¡£
¸ù¾ÝÉÏÃæµÄ·ÖÎö£¬¿ÉÒÔÖªµÀwhereÒ²Ó¦¸Ã±Èhaving¿ìµãµÄ£¬ÒòΪËü¹ýÂËÊý¾Ýºó²Å½øÐÐsum£¬ËùÒÔhavingÊÇ×îÂýµÄ¡£µ«Ò²²»ÊÇ˵havingûÓã¬ÒòΪÓÐʱÔÚ²½Öè3»¹Ã»³öÀ´¶¼²»ÖªµÀÄǸö¼Ç¼²Å·ûºÏÒªÇóÊ
Ïà¹ØÎĵµ£º
×öÏîÄ¿ÀïÃæµÄÊý¾Ý¿âÉè¼ÆÁËÁ½¸öÀàÐÍ·ÅÒ»¸ö×Ö¶ÎÀïÃæ,ÎÒÓÖҪͨ¹ý·Ö¿ªµÄÀàÐÍÀ´½øÐвéѯ,Í´¿à°¡,
Á½ÖÖ·½·¨;
1,¶ÁÈ¡µ½»º´æÖÐ×Ô¶¨Òådatatable, ´úÂë¾Í²»ÌùÁË.
²»ÐÀÉÍÕâÖÖ×ö·¨,ÒòΪÎÒÒѾ°ÑÒ³ÃæÉϺܶණÎ÷дÁË,¶¼ÊÇÓеÄSqlÓï¾ä,ÕâÑù¸Äһ϶¼Òª¸ÄÁË.
2.Ö±½ÓÔÚSqlÀïÃæ½¨ÊÓͼ,
lÓÃSUBSTRING(dbo.K_ProductDtl.Caizhi, 0, CH ......
×¼±¸¹¤×÷£ºÊý¾ÝÇåÏ´¡£¼ì²éÊý¾ÝÀàÐͺͱíÖеÄ×Ö¶ÎÀàÐÍÊÇ·ñÆ¥Å䣻¼ì²é¿ÕÖµÔ¼Êø£»È¥Î޹ؿոñµÈ¡£ÕâЩ¼ì²é¹¤×÷¿ÉÒÔͨ¹ýExcelµÄÊý¾Ýɸѡ¹¦ÄÜ£¬¿´Ò»ÏÂÿ¸ö×Ö¶ÎËùÓеÄÖµ£¬ÔÙÑ¡Öв»ºÏ¹æ·¶µÄ½øÐÐÐ޸ġ£
²½Ö裺
1£©µÇ¼pl/sql developer£¬µÇ¼ʱѡÔñ´ýµ¼Èë±íËùÔÚÊý¾Ý¿â£¬ÔÚ²éѯ´°¿ÚÀïÊäÈësele ......
ÔÚÊý¾Ý¿â¿ª·¢¹ý³ÌÖУ¬µ±Äã¼ìË÷µÄÊý¾ÝÖ»ÊÇÒ»Ìõ¼Ç¼ʱ£¬ÄãËù±àдµÄÊÂÎñÓï¾ä´úÂëÍùÍùʹÓÃSELECT INSERT Óï¾ä¡£µ«ÊÇÎÒÃdz£³£»áÓöµ½ÕâÑùÇé¿ö£¬¼´´Óijһ½á¹û¼¯ÖÐÖðÒ»µØ¶ÁȡһÌõ¼Ç¼¡£ÄÇôÈçºÎ½â¾öÕâÖÖÎÊÌâÄØ£¿ÓαêΪÎÒÃÇÌṩÁËÒ»ÖÖ¼«ÎªÓÅÐãµÄ½â¾ö·½°¸¡£ 1.1 ÓαêºÍÓαêµÄÓŵã ÔÚÊý¾Ý¿âÖУ¬ÓαêÊÇÒ»¸öÊ®·ÖÖØÒªµÄ¸ÅÄî¡£ÓαêÌṩÁËÒ» ......
if object_id('[tb]') is not null
drop table [tb]
go
create table [tb]([id] int,[col1] varchar(8),[col2] int)
insert [tb]
select 1,'ºÓ±±Ê¡',0 union all
select 2,'ÐĮ̈ÊÐ',1 union all
select 3,'ʯ¼ÒׯÊÐ',1 union all
select 4,'ÕżҿÚÊÐ',1 union all
&n ......
±ê׼˳ÐòµÄ SQL Óï¾äΪ:
Select ¿¼ÉúÐÕÃû, max(×ܳɼ¨) as max×ܳɼ¨
from tb_Grade
where ¿¼ÉúÐÕÃû is not null
group by ¿¼ÉúÐÕÃû
having max(×ܳɼ¨) > 600
order by max×ܳɼ¨
ÔÚÉÏÃæµÄʾÀýÖÐ SQL Óï¾äµÄÖ´ÐÐ˳ÐòÈçÏÂ:
(1). Ê×ÏÈÖ´ÐÐ from ×Ó¾ä, ´Ó tb_G ......