
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
	<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head><card id="MainCard" title="&#x6B22;&#x8FCE;&#x5149;&#x4E34;"><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a><br/>&nbsp;</p><p><b>&#x6807;&#x9898;&#x3A;</b> &#x53;&#x51;&#x4C;&#x2D;&#x2D;&#x4A;&#x4F;&#x49;&#x4E;&#x4E4B;&#x5B8C;&#x5168;&#x7528;&#x6CD5;</p><p><b>&#x4F5C;&#x8005;&#x3A;</b> &#x64;&#x6E;&#x61;&#x77;&#x6F;</p><p><b>&#x65E5;&#x671F;&#x3A;</b> &#x32;&#x30;&#x30;&#x37;&#x2D;&#x30;&#x33;&#x2D;&#x31;&#x32;&#x20;&#x30;&#x32;&#x3A;&#x32;&#x37;&#x20;&#x50;&#x4D;</p><p><b>&#x5206;&#x7C7B;&#x3A;</b> <a href="wap.asp?do=showLog&amp;cateID=5">&#x57;&#x65;&#x62;&#x7F16;&#x7A0B;</a></p><p><b>&#x5185;&#x5BB9;&#x3A;</b> SQL&#x4E2D;&#x5927;&#x6982;&#x6709;&#x8FD9;&#x4E48;&#x51E0;&#x79CD;JOIN&#xFF1A;cross join&#x3001;inner join&#x3001;left outer join(left join)&#x3001;right outer join(right join)&#x548C;full outer join(full join)&#x3002;<br/>&#x9996;&#x5148;&#x90FD;&#x662F;&#x57FA;&#x4E8E;cross join(&#x7B1B;&#x5361;&#x5C14;&#x4E58;&#x79EF;)&#xFF0C;&#x7136;&#x540E;&#x662F;inner join&#xFF0C;&#x5728;&#x7B1B;&#x5361;&#x5C14;&#x4E58;&#x79EF;&#x7684;&#x7ED3;&#x679C;&#x96C6;&#x4E2D;&#x53BB;&#x6389;&#x4E0D;&#x7B26;&#x5408;&#x8FDE;&#x63A5;&#x6761;&#x4EF6;&#x7684;&#x884C;&#x3002;<br/>left outer join &#x662F;&#x5728;inner join&#x7684;&#x7ED3;&#x679C;&#x96C6;&#x4E0A;&#x52A0;&#x4E0A;&#x5DE6;&#x8868;&#x4E2D;&#x6CA1;&#x88AB;&#x9009;&#x4E0A;&#x7684;&#x884C;&#xFF0C;&#x884C;&#x7684;&#x53F3;&#x8868;&#x90E8;&#x5206;&#x6BCF;&#x4E2A;&#x5B57;&#x6BB5;&#x90FD;&#x7528;NUll&#x586B;&#x5145;&#x3002;<br/>right outer join &#x662F;&#x5728;inner join&#x7684;&#x7ED3;&#x679C;&#x96C6;&#x4E0A;&#x52A0;&#x4E0A;&#x53F3;&#x8868;&#x4E2D;&#x6CA1;&#x88AB;&#x9009;&#x4E0A;&#x7684;&#x884C;&#xFF0C;&#x884C;&#x7684;&#x5DE6;&#x8868;&#x90E8;&#x5206;&#x5168;&#x7528;NULL&#x586B;&#x5145;&#x3002;<br/>full outer join &#x662F;left outer join&#x548C;right outer join&#x7684;&#x5E76;&#x96C6;&#x3002;<br/>&#x6CE8;&#xFF1A;&#x7B1B;&#x5361;&#x5C14;(Descartes)&#x4E58;&#x79EF;&#x53C8;&#x53EB;&#x76F4;&#x79EF;&#x3002;&#x8BBE;A&#x3001;B&#x662F;&#x4EFB;&#x610F;&#x4E24;&#x4E2A;&#x96C6;&#x5408;&#xFF0C;&#x5728;&#x96C6;&#x5408;A&#x4E2D;&#x4EFB;&#x610F;&#x8DA3;&#x4E00;&#x4E2A;&#x5143;&#x7D20;x&#xFF0C;&#x5728;&#x96C6;&#x5408;B&#x4E2D;&#x4EFB;&#x610F;&#x53D6;&#x4E00;&#x4E2A;&#x5143;&#x7D20;y&#xFF0C;&#x7EC4;&#x6210;&#x4E00;&#x4E2A;&#x6709;&#x5E8F;&#x5BF9;(x,y)&#xFF0C;&#x628A;&#x8FD9;&#x6837;&#x7684;&#x6709;&#x5E8F;&#x5BF9;&#x4F5C;&#x4E3A;&#x65B0;&#x7684;&#x5143;&#x7D20;&#xFF0C;&#x4ED6;&#x4EEC;&#x7684;&#x5168;&#x4F53;&#x7EC4;&#x6210;&#x7684;&#x96C6;&#x5408;&#x79F0;&#x4E3A;&#x96C6;&#x5408;A&#x548C;&#x96C6;&#x5408;B&#x7684;&#x76F4;&#x79EF;&#xFF0C;&#x8BB0;&#x4E3A;A&#xD7;B&#xFF0C;&#x5373;A&#xD7;B={(x&#xFF0C;y)|x&#x2208;A&#x4E14;y&#x2208;B}&#x3002; <br/>&#x5047;&#x8BBE;&#x6709;&#x5982;&#x4E0B;&#x4E24;&#x4E2A;&#x8868;&#xFF1A;<br/>Table1:<br/>id&#160;&#160;&#160;&#160;name&#160;&#160;&#160;&#160;total<br/>-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----<br/>1&#160;&#160;&#160;&#160;aaa&#160;&#160;&#160;&#160;10<br/>2&#160;&#160;&#160;&#160;bbb&#160;&#160;&#160;&#160;20<br/>Table2:<br/>id&#160;&#160;&#160;&#160;name&#160;&#160;&#160;&#160;total<br/>-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----<br/>1&#160;&#160;&#160;&#160;aaa&#160;&#160;&#160;&#160;30<br/>2&#160;&#160;&#160;&#160;ccc&#160;&#160;&#160;&#160;10<br/>&#x4E0B;&#x8FB9;&#x6211;&#x4EEC;&#x6765;&#x770B;&#x770B;&#x5404;&#x79CD;JOIN&#x7684;&#x7ED3;&#x679C;&#xFF1A;<br/>1.cross join<br/>Sel&#101;ct Table1.name,Table1.total,Table2.name,Table2.total From Table1 cross join Table2<br/>&#x7ED3;&#x679C;&#x96C6;&#xFF1A;<br/>name&#160;&#160;&#160;&#160;total&#160;&#160;&#160;&#160;name&#160;&#160;&#160;&#160;total<br/>-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----<br/>aaa&#160;&#160;&#160;&#160;40&#160;&#160;&#160;&#160;aaa&#160;&#160;&#160;&#160;30<br/>bbb&#160;&#160;&#160;&#160;20&#160;&#160;&#160;&#160;aaa&#160;&#160;&#160;&#160;30<br/>aaa&#160;&#160;&#160;&#160;40&#160;&#160;&#160;&#160;ccc&#160;&#160;&#160;&#160;10<br/>bbb&#160;&#160;&#160;&#160;20&#160;&#160;&#160;&#160;ccc&#160;&#160;&#160;&#160;10<br/>2.inner join<br/>Sel&#101;ct Table1.name,Table1.total,Table2.name,Table2.total From Table1 inner join Table2 on Table1.name=Table2.name<br/>&#x7ED3;&#x679C;&#x96C6;&#xFF1A;<br/>name&#160;&#160;&#160;&#160;total&#160;&#160;&#160;&#160;name&#160;&#160;&#160;&#160;total<br/>-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----<br/>aaa&#160;&#160;&#160;&#160;40&#160;&#160;&#160;&#160;aaa&#160;&#160;&#160;&#160;30<br/>&#x6269;&#x5C55;&#xFF1A;full join&#x4E3A;&#x5168;&#x96C6;&#xFF0C;&#x53D6;inner join&#x7684;&#x8865;&#x96C6;<br/>Sel&#101;ct Table1.name,Table1.total,Table2.name,Table2.total From Table1 full join Table2 on Table1.name=Table2.name Wh&#101;re Table1.name is null o&#114; Table2.name is null<br/>&#x7ED3;&#x679C;&#x96C6;&#xFF1A;<br/>name&#160;&#160;&#160;&#160;total&#160;&#160;&#160;&#160;name&#160;&#160;&#160;&#160;total<br/>-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----<br/>NULL&#160;&#160;&#160;&#160;NULL&#160;&#160;&#160;&#160;ccc&#160;&#160;&#160;&#160;10<br/>bbb&#160;&#160;&#160;&#160;20&#160;&#160;&#160;&#160;NULL&#160;&#160;&#160;&#160;NULL<br/>3.full join<br/>Sel&#101;ct Table1.name,Table1.total,Table2.name,Table2.total From Table1 full join Table2 on Table1.name=Table2.name<br/>&#x7ED3;&#x679C;&#x96C6;&#xFF1A;<br/>name&#160;&#160;&#160;&#160;total&#160;&#160;&#160;&#160;name&#160;&#160;&#160;&#160;total<br/>-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----<br/>aaa&#160;&#160;&#160;&#160;40&#160;&#160;&#160;&#160;aaa&#160;&#160;&#160;&#160;30<br/>NULL&#160;&#160;&#160;&#160;NULL&#160;&#160;&#160;&#160;ccc&#160;&#160;&#160;&#160;10<br/>bbb&#160;&#160;&#160;&#160;20&#160;&#160;&#160;&#160;NULL&#160;&#160;&#160;&#160;NULL<br/>4.left join<br/>Sel&#101;ct Table1.name,Table1.total,Table2.name,Table2.total From Table1 left join Table2 on Table1.name=Table2.name<br/>&#x7ED3;&#x679C;&#x96C6;&#xFF1A;<br/>name&#160;&#160;&#160;&#160;total&#160;&#160;&#160;&#160;name&#160;&#160;&#160;&#160;total<br/>-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----<br/>aaa&#160;&#160;&#160;&#160;40&#160;&#160;&#160;&#160;aaa&#160;&#160;&#160;&#160;30<br/>bbb&#160;&#160;&#160;&#160;20&#160;&#160;&#160;&#160;NULL&#160;&#160;&#160;&#160;NULL<br/>&#x6269;&#x5C55;&#xFF1A;left join&#x4E3A;&#x5168;&#x96C6;&#xFF0C;&#x53D6;inner join&#x7684;&#x8865;&#x96C6;<br/>Sel&#101;ct Table1.name,Table1.total,Table2.name,Table2.total From Table1 left join Table2 on Table1.name=Table2.name Wh&#101;re Table2.name is null<br/>&#x7ED3;&#x679C;&#x96C6;&#xFF1A;<br/>name&#160;&#160;&#160;&#160;total&#160;&#160;&#160;&#160;name&#160;&#160;&#160;&#160;total<br/>-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----<br/>bbb&#160;&#160;&#160;&#160;20&#160;&#160;&#160;&#160;NULL&#160;&#160;&#160;&#160;NULL<br/>5.right join<br/>Sel&#101;ct Table1.name,Table1.total,Table2.name,Table2.total From Table1 right join Table2 on Table1.name=Table2.name<br/>&#x7ED3;&#x679C;&#x96C6;&#xFF1A;<br/>name&#160;&#160;&#160;&#160;total&#160;&#160;&#160;&#160;name&#160;&#160;&#160;&#160;total<br/>-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----<br/>aaa&#160;&#160;&#160;&#160;40&#160;&#160;&#160;&#160;aaa&#160;&#160;&#160;&#160;30<br/>NULL&#160;&#160;&#160;&#160;NULL&#160;&#160;&#160;&#160;ccc&#160;&#160;&#160;&#160;10<br/>&#x6269;&#x5C55;&#xFF1A;right join&#x4E3A;&#x5168;&#x96C6;&#xFF0C;&#x53D6;inner join&#x7684;&#x8865;&#x96C6;<br/>Sel&#101;ct Table1.name,Table1.total,Table2.name,Table2.total From Table1 right join Table2 on Table1.name=Table2.name Wh&#101;re Table1.name is null<br/>&#x7ED3;&#x679C;&#x96C6;&#xFF1A;<br/>name&#160;&#160;&#160;&#160;total&#160;&#160;&#160;&#160;name&#160;&#160;&#160;&#160;total<br/>-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----&#160;&#160;&#160;&#160;-----<br/>NULL&#160;&#160;&#160;&#160;NULL&#160;&#160;&#160;&#160;ccc&#160;&#160;&#160;&#160;10<br/>2008-09-11&#x8865;&#xFF1A;&#x4E09;&#x8868;&#x8054;&#x5408;&#x67E5;&#x8BE2;<br/>Sel&#101;ct TOP 1 A.SoftName,A.SoftImage,B.DownFileName,C.DownloadPath FROM (NC_SoftList A INNER JOIN NC_DownAddress B On A.SoftId=B.SoftId) INNER JOIN NC_DownServer C ON B.DownId=C.RootId Wh&#101;re C.depth=1 AND&nbsp;&nbsp;A.SoftId=2<br/>&#x6CE8;&#xFF1A;&#x5728;ACCESS&#x4E2D;&#x4E0A;&#x8FB9;&#x62EC;&#x53F7;&#x5FC5;&#x9700;&#x7684;&#xFF0C;&#x800C;&#x5728;SQL Server&#x4E2D;&#x53EF;&#x6709;&#x53EF;&#x65E0;&#xFF01;<br/></p><p> + <a href="#CommentCard">&#x67E5;&#x770B;&#x5F53;&#x524D;&#x65E5;&#x5FD7;&#x8BC4;&#x8BBA;</a> (1)</p><p>&nbsp;<br/><br/><a href="wap.asp?do=Login">&#x767B;&#x5F55;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.629&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="postCommentCard"><p><b>&#x6807;&#x9898;&#x3A;</b> <a href="#MainCard">&#x53;&#x51;&#x4C;&#x2D;&#x2D;&#x4A;&#x4F;&#x49;&#x4E;&#x4E4B;&#x5B8C;&#x5168;&#x7528;&#x6CD5;</a></p><p><br/>你没有权限发表评论</p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.629&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="CommentCard"><p>&#x6682;&#x65E0;&#x8BC4;&#x8BBA;</p><p><a href="#MainCard">&#x8FD4;&#x56DE;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.629&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card>
</wml>
