﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>PHP博客-zwws's blog</title><link>http://www.phpweblog.net/zwws/</link><description>Blog For PHP Learning...</description><language>zh-cn</language><lastBuildDate>Fri, 09 Jan 2009 13:28:39 GMT</lastBuildDate><pubDate>Fri, 09 Jan 2009 13:28:39 GMT</pubDate><ttl>60</ttl><item><title>SQL--JOIN之完全用法(版本1)</title><link>http://www.phpweblog.net/zwws/archive/2007/02/23/945.html</link><dc:creator>zwws</dc:creator><author>zwws</author><pubDate>Fri, 23 Feb 2007 12:58:00 GMT</pubDate><guid>http://www.phpweblog.net/zwws/archive/2007/02/23/945.html</guid><wfw:comment>http://www.phpweblog.net/zwws/comments/945.html</wfw:comment><comments>http://www.phpweblog.net/zwws/archive/2007/02/23/945.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.phpweblog.net/zwws/comments/commentRss/945.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/zwws/services/trackbacks/945.html</trackback:ping><description><![CDATA[外联接。外联接可以是左向外联接、右向外联接或完整外部联接。 <br />在 FROM 子句中指定外联接时，可以由下列几组关键字中的一组指定：<br /><br />LEFT JOIN 或 LEFT OUTER JOIN。 <br />左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行，而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行，则在相关联的结果集行中右表的所有选择列表列均为空值。<br /><br />RIGHT JOIN 或 RIGHT OUTER JOIN。 <br />右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行，则将为左表返回空值。<br /><br />FULL JOIN 或 FULL OUTER JOIN。 <br />完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时，则另一个表的选择列表列包含空值。如果表之间有匹配行，则整个结果集行包含基表的数据值。<br /><br />仅当至少有一个同属于两表的行符合联接条件时，内联接才返回行。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回 FROM 子句中提到的至少一个表或视图的所有行，只要这些行符合任何 WHERE 或 HAVING 搜索条件。将检索通过左向外联接引用的左表的所有行，以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。<br /><br />Microsoft&amp;reg; SQL Server™ 2000 对在 FROM 子句中指定的外联接使用以下 SQL-92 关键字： <br /><br />LEFT OUTER JOIN 或 LEFT JOIN<br /><br /><br />RIGHT OUTER JOIN 或 RIGHT JOIN<br /><br /><br />FULL OUTER JOIN 或 FULL JOIN <br />SQL Server 支持 SQL-92 外联接语法，以及在 WHERE 子句中使用 *= 和 =* 运算符指定外联接的旧式语法。由于 SQL-92 语法不容易产生歧义，而旧式 Transact-SQL 外联接有时会产生歧义，因此建议使用 SQL-92 语法。<br /><br />使用左向外联接<br />假设在 city 列上联接 authors 表和 publishers 表。结果只显示在出版商所在城市居住的作者（本例中为 Abraham Bennet 和 Cheryl Carson）。<br /><br />若要在结果中包括所有的作者，而不管出版商是否住在同一个城市，请使用 SQL-92 左向外联接。下面是 Transact-SQL 左向外联接的查询和结果：<br /><br />USE pubs<br />SELECT a.au_fname, a.au_lname, p.pub_name<br />FROM authors a LEFT OUTER JOIN publishers p<br />   ON a.city = p.city<br />ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC<br /><br />下面是结果集：<br /><br />au_fname             au_lname                       pub_name          <br />-------------------- ------------------------------ ----------------- <br />Reginald             Blotchet-Halls                 NULL<br />Michel               DeFrance                       NULL<br />Innes                del Castillo                   NULL<br />Ann                  Dull                           NULL<br />Marjorie             Green                          NULL<br />Morningstar          Greene                         NULL<br />Burt                 Gringlesby                     NULL<br />Sheryl               Hunter                         NULL<br />Livia                Karsen                         NULL<br />Charlene             Locksley                       NULL<br />Stearns              MacFeather                     NULL<br />Heather              McBadden                       NULL<br />Michael              O'Leary                        NULL<br />Sylvia               Panteley                       NULL<br />Albert               Ringer                         NULL<br />Anne                 Ringer                         NULL<br />Meander              Smith                          NULL<br />Dean                 Straight                       NULL<br />Dirk                 Stringer                       NULL<br />Johnson              White                          NULL<br />Akiko                Yokomoto                       NULL<br />Abraham              Bennet                         Algodata Infosystems<br />Cheryl               Carson                         Algodata Infosystems<br /><br />(23 row(s) affected)<br /><br />不管是否与 publishers 表中的 city 列匹配，LEFT OUTER JOIN 均会在结果中包含 authors 表的所有行。注意：结果中所列的大多数作者都没有相匹配的数据,因此，这些行的 pub_name 列包含空值。<br /><br />使用右向外联接<br />假设在 city 列上联接 authors 表和 publishers 表。结果只显示在出版商所在城市居住的作者（本例中为 Abraham Bennet 和 Cheryl Carson）。SQL-92 右向外联接运算符 RIGHT OUTER JOIN 指明：不管第一个表中是否有匹配的数据，结果将包含第二个表中的所有行。<br /><br />若要在结果中包括所有的出版商，而不管城市中是否还有出版商居住，请使用 SQL-92 右向外联接。下面是 Transact-SQL 右向外联接的查询和结果：<br /><br />USE pubs<br />SELECT a.au_fname, a.au_lname, p.pub_name<br />FROM authors AS a RIGHT OUTER JOIN publishers AS p<br />   ON a.city = p.city<br />ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC<br /><br />下面是结果集：<br /><br />au_fname             au_lname                 pub_name             <br />-------------------- ------------------------ -------------------- <br />Abraham              Bennet                   Algodata Infosystems<br />Cheryl               Carson                   Algodata Infosystems<br />NULL                 NULL                     Binnet &amp; Hardley<br />NULL                 NULL                     Five Lakes Publishing<br />NULL                 NULL                     GGG&amp;G<br />NULL                 NULL                     Lucerne Publishing<br />NULL                 NULL                     New Moon Books<br />NULL                 NULL                     Ramona Publishers<br />NULL                 NULL                     Scootney Books<br /><br />(9 row(s) affected)<br /><br />使用谓词（如将联接与常量比较）可以进一步限制外联接。下例包含相同的右向外联接，但消除销售量低于 50 本的书籍的书名：<br /><br />USE pubs<br />SELECT s.stor_id, s.qty, t.title<br />FROM sales s RIGHT OUTER JOIN titles t<br />   ON s.title_id = t.title_id<br />   AND s.qty &gt; 50<br />ORDER BY s.stor_id ASC<br /><br />下面是结果集：<br /><br />stor_id qty    title                                                     <br />------- ------ --------------------------------------------------------- <br />(null) (null) But Is It User Friendly?                                   <br />(null) (null) Computer Phobic AND Non-Phobic Individuals: Behavior <br />            Variations                  <br />(null) (null) Cooking with Computers: Surreptitious Balance Sheets       <br />(null) (null) Emotional Security: A New Algorithm                        <br />(null) (null) Fifty Years in Buckingham Palace Kitchens                  <br />7066   75     Is Anger the Enemy?                                        <br />(null) (null) Life Without Fear                                          <br />(null) (null) Net Etiquette                                              <br />(null) (null) Onions, Leeks, and Garlic: Cooking Secrets of the <br />            Mediterranean                  <br />(null) (null) Prolonged Data Deprivation: Four Case Studies              <br />(null) (null) Secrets of Silicon Valley                                  <br />(null) (null) Silicon Valley Gastronomic Treats                          <br />(null) (null) Straight Talk About Computers                              <br />(null) (null) Sushi, Anyone?                                             <br />(null) (null) The Busy Executive's Database Guide                        <br />(null) (null) The Gourmet Microwave                                      <br />(null) (null) The Psychology of Computer Cooking                         <br />(null) (null) You Can Combat Computer Stress!                            <br /><br />(18 row(s) affected)<br /><br />有关谓词的更多信息，请参见 WHERE。 <br /><br />使用完整外部联接<br />若要通过在联接结果中包括不匹配的行保留不匹配信息，请使用完整外部联接。Microsoft&amp;reg; SQL Server™ 2000 提供完整外部联接运算符 FULL OUTER JOIN，不管另一个表是否有匹配的值，此运算符都包括两个表中的所有行。<br /><br />假设在 city 列上联接 authors 表和 publishers 表。结果只显示在出版商所在城市居住的作者（本例中为 Abraham Bennet 和 Cheryl Carson）。SQL-92 FULL OUTER JOIN 运算符指明：不管表中是否有匹配的数据，结果将包括两个表中的所有行。<br /><br />若要在结果中包括所有作者和出版商，而不管城市中是否有出版商或者出版商是否住在同一个城市，请使用完整外部联接。下面是 Transact-SQL 完整外部联接的查询和结果：<br /><br />USE pubs<br />SELECT a.au_fname, a.au_lname, p.pub_name<br />FROM authors a FULL OUTER JOIN publishers p<br />   ON a.city = p.city<br />ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC<br /><br />下面是结果集：<br /><br />au_fname             au_lname                     pub_name             <br />-------------------- ---------------------------- -------------------- <br />Reginald             Blotchet-Halls               NULL<br />Michel               DeFrance                     NULL<br />Innes                del Castillo                 NULL<br />Ann                  Dull                         NULL<br />Marjorie             Green                        NULL<br />Morningstar          Greene                       NULL<br />Burt                 Gringlesby                   NULL<br />Sheryl               Hunter                       NULL<br />Livia                Karsen                       NULL<br />Charlene             Locksley                     NULL<br />Stearns              MacFeather                   NULL<br />Heather              McBadden                     NULL<br />Michael              O'Leary                      NULL<br />Sylvia               Panteley                     NULL<br />Albert               Ringer                       NULL<br />Anne                 Ringer                       NULL<br />Meander              Smith                        NULL<br />Dean                 Straight                     NULL<br />Dirk                 Stringer                     NULL<br />Johnson              White                        NULL<br />Akiko                Yokomoto                     NULL<br />Abraham              Bennet                       Algodata Infosystems<br />Cheryl               Carson                       Algodata Infosystems<br />NULL                 NULL                         Binnet &amp; Hardley<br />NULL                 NULL                         Five Lakes Publishing<br />NULL                 NULL                         GGG&amp;G<br />NULL                 NULL                         Lucerne Publishing<br />NULL                 NULL                         New Moon Books<br />NULL                 NULL                         Ramona Publishers<br />NULL                 NULL                         Scootney Books<br /><br />(30 row(s) affected)<img src ="http://www.phpweblog.net/zwws/aggbug/945.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/zwws/" target="_blank">zwws</a> 2007-02-23 20:58 <a href="http://www.phpweblog.net/zwws/archive/2007/02/23/945.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL--JOIN之完全用法(版本2)</title><link>http://www.phpweblog.net/zwws/archive/2007/02/23/946.html</link><dc:creator>zwws</dc:creator><author>zwws</author><pubDate>Fri, 23 Feb 2007 12:58:00 GMT</pubDate><guid>http://www.phpweblog.net/zwws/archive/2007/02/23/946.html</guid><wfw:comment>http://www.phpweblog.net/zwws/comments/946.html</wfw:comment><comments>http://www.phpweblog.net/zwws/archive/2007/02/23/946.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.phpweblog.net/zwws/comments/commentRss/946.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/zwws/services/trackbacks/946.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在我叙述</span>
				<span lang="EN-US">JOIN</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的用法前，我先引用数据库设计中最常见的范式资料。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第三范式（</span>
				<span lang="EN-US">3NF</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）：如果关系模式</span>
				<span lang="EN-US">R</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span>
				<span lang="EN-US">U</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">F</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）中的所有非主属性对任何候选关键字都不存在传递信赖，则称关系</span>
				<span lang="EN-US">R</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是属于第三范式的。</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例：如</span>
				<span lang="EN-US">S1</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span>
				<span lang="EN-US">SNO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">SNAME</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">DNO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">DNAME</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">LOCATION</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">各属性分别代表学号，姓名，所在系，系名称，系地址。</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">关键字</span>
				<span lang="EN-US">SNO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">决定各个属性。由于是单个关键字，没有部分依赖的问题，肯定是</span>
				<span lang="EN-US">2NF</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。但这关系肯定有大量的冗余，有关学生所在的几个属性</span>
				<span lang="EN-US">DNO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">DNAME</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">LOCATION</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将重复存储，插入，删除和修改时也将产生类似以上例的情况。</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">原因：关系中存在传递依赖造成的。由于</span>
				<span lang="EN-US">SNAME</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US">DNO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是依赖</span>
				<span lang="EN-US">SNO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，而</span>
				<span lang="EN-US">DNAME</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US">LOCATION</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是依赖</span>
				<span lang="EN-US">DNO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的，即通过一个学号可以知道该学生的姓名以及他所在系代码，但无法由学号知道系地址，学号和系地址间是通过学号所对应的学生的所在系关联的，</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">因此关键字</span>
				<span lang="EN-US">SNO </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对</span>
				<span lang="EN-US">LOCATION </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">函数决定是通过传递依赖</span>
				<span lang="EN-US">DNO -&gt; LOCATION </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实现的。也就是说，</span>
				<span lang="EN-US">SNO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不直接决定非主属性</span>
				<span lang="EN-US">LOCATION</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">解决目地：每个关系模式中不能留有传递依赖。</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">解决方法：分为两个关系</span>
				<span lang="EN-US">S</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span>
				<span lang="EN-US">SNO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">SNAME</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">DNO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">），</span>
				<span lang="EN-US">D</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span>
				<span lang="EN-US">DNO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">DNAME</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">LOCATION</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注意：关系</span>
				<span lang="EN-US">S</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中不能没有外关键字</span>
				<span lang="EN-US">DNO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。否则两个关系之间失去联系。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在数据库的设计过程中常常按照第三范式来设计数据库，当然在有些场合为优化数据库的性能而增加了相关冗余字段以使表的结构不符合</span>
				<span lang="EN-US">3NF</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，在多数场合中，没有一张表能完整的发挥客户所需要的结果集。这样就需要通过联接多张在逻辑上存在依赖关系的表，选择你所需要的数据。</span>
				<span lang="EN-US">
						<span style="mso-tab-count: 1">    </span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在使用</span>
				<span lang="EN-US">JOIN</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">前，必须明白是通过联接，根据各个表之间的逻辑关系从相关表中检索数据。通过</span>
				<span lang="EN-US">SQL Server</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">自带帮助文件，可以清楚的知道：可在</span>
				<span lang="EN-US">FROM </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</span>
				<span lang="EN-US">WHERE </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子句中指定联接。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US">
						<p>
						</p>
				</span>
		</p>
		<p>
		</p>
		<p>
		</p>
		<h2 style="MARGIN: 13pt 0cm 13pt 1cm; TEXT-INDENT: -1cm; tab-stops: list 1.0cm; mso-list: l15 level2 lfo7">
				<a name="_Toc94776124">
						<span lang="EN-US">
								<font face="Arial">1.1.</font>
								<span style="FONT: 7pt 'Times New Roman'">        </span>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">在</span>
						<span lang="EN-US">
								<font face="Arial">WHERE</font>
						</span>
				</a>
				<span style="mso-bookmark: _Toc94776124">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">子句中指定联接</span>
				</span>
		</h2>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下例使用</span>
				<span lang="EN-US">WHERE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子句进行表之间的</span>
		</p>
		<p class="Char" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font style="BACKGROUND-COLOR: #d9d9d9" face="Courier New" color="#0000ff" size="2">SELECT A.SYMBOL,A.SNAME,B.TDATE,B.CLOSE </font>
				</span>
		</p>
		<p class="Char" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font style="BACKGROUND-COLOR: #d9d9d9" face="Courier New" color="#0000ff" size="2">FROM SECURITYCODE A,DAYQUOTE B</font>
				</span>
		</p>
		<p class="Char" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="COLOR: red">
						<font size="2">
								<font style="BACKGROUND-COLOR: #d9d9d9">
										<font face="Courier New">WHERE A.SYMBOL =B.SYMBOL 
<p></p></font>
								</font>
						</font>
				</span>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p class="Char" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font size="2">
								<font color="#0000ff">
										<font style="BACKGROUND-COLOR: #d9d9d9">
												<font face="Courier New">
														<span style="mso-tab-count: 1">    </span>AND<span style="mso-spacerun: yes">  </span>B.TDATE &gt;= A.LISTDATE</font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="Char" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font size="2">
								<font color="#0000ff">
										<font style="BACKGROUND-COLOR: #d9d9d9">
												<font face="Courier New">
														<span style="mso-tab-count: 1">    </span>AND A.SYMBOL LIKE<span style="mso-spacerun: yes">  </span>'600%'</font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在上例中联接的表</span>
				<span lang="EN-US">A</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">与表</span>
				<span lang="EN-US">B</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通过</span>
				<span lang="EN-US">A.SYMBOL =B.SYMBOL</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个条件联接，筛选条件为</span>
				<span lang="EN-US">B.TDATE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不小于</span>
				<span lang="EN-US">A. LISTDATE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span>
				<span lang="EN-US">WHERE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子句中指定联接，对于较简单的联接，使用这种方式可能较方便，但综合来说，不推荐使用该语法联接表。</span>
		</p>
		<h2 style="MARGIN: 13pt 0cm 13pt 1cm; TEXT-INDENT: -1cm; tab-stops: list 1.0cm; mso-list: l15 level2 lfo7">
				<a name="_Toc94776125">
						<span lang="EN-US">
								<font face="Arial">1.2.</font>
								<span style="FONT: 7pt 'Times New Roman'">        </span>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">在</span>
						<span lang="EN-US">
								<font face="Arial">FROM</font>
						</span>
				</a>
				<span style="mso-bookmark: _Toc94776125">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">子句中指定联接</span>
				</span>
		</h2>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">拿上面的例子来详细说，表</span>
				<span lang="EN-US">SECURITYCODE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中主要存放证券代码的基本信息，表中的</span>
				<span lang="EN-US">SYMBOL</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代表股票代码，</span>
				<span lang="EN-US">SNAME</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代表股票名称，</span>
				<span lang="EN-US">LISTDATE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代表上市日期；表</span>
				<span lang="EN-US">DAYQUOTE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中主要存放股票的每日行情。</span>
				<span lang="EN-US">SYMBOL</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代表股票代码，</span>
				<span lang="EN-US">TDATE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代表交易日期，</span>
				<span lang="EN-US">CLOSE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代表收盘价。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我现在的取值逻辑是：取出股票代码以</span>
				<span lang="EN-US">600</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打头的股票自上市日期以来的所有交易日的收盘价。将</span>
				<span lang="EN-US">SECURITYCODE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">与</span>
				<span lang="EN-US">DAYQUOTE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通过</span>
				<span lang="EN-US">SYMBOL</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">联接。</span>
		</p>
		<p class="Char" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font style="BACKGROUND-COLOR: #d9d9d9" face="Courier New" color="#0000ff" size="2">SELECT A.SYMBOL,A.SNAME,B.TDATE,B. CLOSE </font>
				</span>
		</p>
		<p class="Char" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font style="BACKGROUND-COLOR: #d9d9d9" face="Courier New" color="#0000ff" size="2">FROM SECURITYCODE A</font>
				</span>
		</p>
		<p class="Char" style="MARGIN: 0cm 0cm 0pt">
				<font size="2">
						<font style="BACKGROUND-COLOR: #d9d9d9">
								<font face="Courier New">
										<span lang="EN-US" style="COLOR: red">JOIN</span>
										<span lang="EN-US">
												<font color="#0000ff">DAYQUOTE B</font>
										</span>
								</font>
						</font>
				</font>
		</p>
		<p class="Char" style="MARGIN: 0cm 0cm 0pt">
				<font size="2">
						<font style="BACKGROUND-COLOR: #d9d9d9">
								<font face="Courier New">
										<span lang="EN-US">
												<span style="mso-tab-count: 1">
														<font color="#0000ff">    </font>
												</span>
										</span>
										<span lang="EN-US" style="COLOR: red">ON A.SYMBOL =B.SYMBOL 
<p></p></span>
								</font>
						</font>
				</font>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p class="Char" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font style="BACKGROUND-COLOR: #d9d9d9" face="Courier New" color="#0000ff" size="2">WHERE<span style="mso-spacerun: yes">  </span>B.TDATE &gt;= A.LISTDATE</font>
				</span>
		</p>
		<p class="Char" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font size="2">
								<font color="#0000ff">
										<font style="BACKGROUND-COLOR: #d9d9d9">
												<font face="Courier New">
														<span style="mso-tab-count: 1">    </span>AND A.SYMBOL LIKE '600%'</font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="Char" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font style="BACKGROUND-COLOR: #d9d9d9" face="Courier New" color="#0000ff" size="2">ORDER BY A.SYMBOL,B.TDATE</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对于使用</span>
				<span lang="EN-US">FROM</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子句方式联接表，可以很清楚的看出表之间的联接条件。就可读性以及后续的可修改性与</span>
				<span lang="EN-US">WHERE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子句相比有较大的优势。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US">
						<p>
						</p>
				</span>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下面就联接的方式引用帮助文件中的具体介绍，联接可以分为以下几种：</span>
		</p>
		<h2 style="MARGIN: 13pt 0cm 13pt 1cm; TEXT-INDENT: -1cm; tab-stops: list 1.0cm; mso-list: l15 level2 lfo7">
				<a name="_Toc94776126">
						<span lang="EN-US">
								<font face="Arial">1.3.</font>
								<span style="FONT: 7pt 'Times New Roman'">        </span>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">内联接</span>
				</a>
		</h2>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">内联接（典型的联接运算，使用像</span>
				<span lang="EN-US">= </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</span>
				<span lang="EN-US">&lt;&gt; </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之类的比较运算符）。包括相等联接和自然联接。</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span>
				<span lang="EN-US">SQL-92 </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标准中，内联接可在</span>
				<span lang="EN-US">FROM </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</span>
				<span lang="EN-US">WHERE </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子句中指定。这是</span>
				<span lang="EN-US">WHERE </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子句中唯一一种</span>
				<span lang="EN-US">SQL-92 </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">支持的联接类型。</span>
				<span lang="EN-US">WHERE </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子句中指定的内联接称为旧式内联接。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">内联接一般常见写法：</span>
		</p>
		<p class="a1" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font style="BACKGROUND-COLOR: #d9d9d9" face="Courier New" color="#0000ff" size="2">SELECT A.COLUMN1,[A.COLUMN2],B.COLUMN1,[B.COLUMN2]</font>
				</span>
		</p>
		<p class="a1" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font style="BACKGROUND-COLOR: #d9d9d9" face="Courier New" color="#0000ff" size="2">FROM<span style="mso-spacerun: yes">  </span>TABLE1 A</font>
				</span>
		</p>
		<p class="a1" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font style="BACKGROUND-COLOR: #d9d9d9" face="Courier New" color="#0000ff" size="2">[INNER] JOIN TABLE2 B</font>
				</span>
		</p>
		<p class="a1" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font size="2">
								<font color="#0000ff">
										<font style="BACKGROUND-COLOR: #d9d9d9">
												<font face="Courier New">
														<span style="mso-tab-count: 1">    </span>ON A.COLUMN0 = B.COLUMN0</font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在查询分析器中使用</span>
				<span lang="EN-US">INNER JOIN</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时常常省略</span>
				<span lang="EN-US">INNER</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
		</p>
		<h2 style="MARGIN: 13pt 0cm 13pt 1cm; TEXT-INDENT: -1cm; tab-stops: list 1.0cm; mso-list: l15 level2 lfo7">
				<a name="_Toc94776127">
						<span lang="EN-US">
								<font face="Arial">1.4.</font>
								<span style="FONT: 7pt 'Times New Roman'">        </span>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">外联接</span>
				</a>
		</h2>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">外联接可以是左向外联接、右向外联接或完整外部联接。</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span>
				<span lang="EN-US">FROM </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子句中指定外联接时，可以由下列几组关键字中的一组指定：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US">
						<p>
						</p>
				</span>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.1pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.55pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US">LEFT JOIN </span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</span>
						<span lang="EN-US">LEFT OUTER JOIN 
<p></p></span>
				</b>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">左向外联接的结果集包括</span>
				<span lang="EN-US">LEFT OUTER </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子句中指定的左表的所有行，而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行，则在相关联的结果集行中右表的所有选择列表列均为空值。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US">
						<p>
						</p>
				</span>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.1pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.55pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US">RIGHT JOIN </span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</span>
						<span lang="EN-US">RIGHT OUTER JOIN 
<p></p></span>
				</b>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行，则将为左表返回空值。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US">
						<p>
						</p>
				</span>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.1pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.55pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US">FULL JOIN </span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</span>
						<span lang="EN-US">FULL OUTER JOIN 
<p></p></span>
				</b>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时，则另一个表的选择列表列包含空值。如果表之间有匹配行，则整个结果集行包含基表的数据值。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span lang="EN-US">
						<p>
						</p>
				</span>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">仅当至少有一个同属于两表的行符合联接条件时，内联接才返回行。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回</span>
				<span lang="EN-US">FROM </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子句中提到的至少一个表或视图的所有行，只要这些行符合任何</span>
				<span lang="EN-US">WHERE </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</span>
				<span lang="EN-US">HAVING </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">搜索条件。将检索通过左向外联接引用的左表的所有行，以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">外联接的中常见的是</span>
				<span lang="EN-US">LEFT JOIN</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，将</span>
				<span lang="EN-US">LEFT JOIN</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用熟已经可以解决大半问题了。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">外联接的一般写法：</span>
		</p>
		<p class="a1" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font style="BACKGROUND-COLOR: #d9d9d9" face="Courier New" color="#0000ff" size="2">SELECT A.COLUMN1,[A.COLUMN2],B.COLUMN1,[B.COLUMN2]</font>
				</span>
		</p>
		<p class="a1" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font style="BACKGROUND-COLOR: #d9d9d9" face="Courier New" color="#0000ff" size="2">FROM<span style="mso-spacerun: yes">  </span>TABLE1 A</font>
				</span>
		</p>
		<p class="a1" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font style="BACKGROUND-COLOR: #d9d9d9" face="Courier New" color="#0000ff" size="2">LEFT|RIGHT|FULL [OUTER] JOIN TABLE2 B</font>
				</span>
		</p>
		<p class="a1" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font size="2">
								<font color="#0000ff">
										<font style="BACKGROUND-COLOR: #d9d9d9">
												<font face="Courier New">
														<span style="mso-tab-count: 1">    </span>ON A.COLUMN0 = B.COLUMN0</font>
										</font>
								</font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在查询分析器中使用</span>
				<span lang="EN-US">OUTER JOIN</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时常常省略</span>
				<span lang="EN-US">OUTER</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
				<span lang="EN-US">LEFT</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US">RIGHT</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">只是方向问题，在特定场合下，</span>
				<span lang="EN-US">FULL OUTER JOIN </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">相当于</span>
				<span lang="EN-US">LEFT OUTER JOIN </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US">RIGHT OUTER JOIN</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的消除重复行的合集。</span>
		</p>
		<h2 style="MARGIN: 13pt 0cm 13pt 1cm; TEXT-INDENT: -1cm; tab-stops: list 1.0cm; mso-list: l15 level2 lfo7">
				<a name="_Toc94776128">
						<span lang="EN-US">
								<font face="Arial">1.5.</font>
								<span style="FONT: 7pt 'Times New Roman'">        </span>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">交叉联接</span>
				</a>
		</h2>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">交叉联接返回左表中的所有行，左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没有</span>
				<span lang="EN-US">WHERE </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。也就是说在没有</span>
				<span lang="EN-US">WHERE</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">子句的情况下，若表</span>
				<span lang="EN-US">A</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有</span>
				<span lang="EN-US">3</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">行记录，表</span>
				<span lang="EN-US">B</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有</span>
				<span lang="EN-US">6</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">行记录</span>
				<span lang="EN-US">:</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span>
		</p>
		<p class="a1" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font style="BACKGROUND-COLOR: #d9d9d9" face="Courier New" color="#0000ff" size="2">SELECT<span style="mso-spacerun: yes">  </span>A.*,B.*<span style="mso-spacerun: yes">  </span>FROM 表A<span style="mso-spacerun: yes">  </span>CROSS<span style="mso-spacerun: yes">  </span>JOIN 表B</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那以上语句会返回</span>
				<span lang="EN-US">18</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">行记录。</span>
		</p>
		<p>
				<u>
						<font color="#800080">
						</font>
				</u> </p>
<img src ="http://www.phpweblog.net/zwws/aggbug/946.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/zwws/" target="_blank">zwws</a> 2007-02-23 20:58 <a href="http://www.phpweblog.net/zwws/archive/2007/02/23/946.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sql的left join 命令详解</title><link>http://www.phpweblog.net/zwws/archive/2007/02/23/944.html</link><dc:creator>zwws</dc:creator><author>zwws</author><pubDate>Fri, 23 Feb 2007 09:32:00 GMT</pubDate><guid>http://www.phpweblog.net/zwws/archive/2007/02/23/944.html</guid><wfw:comment>http://www.phpweblog.net/zwws/comments/944.html</wfw:comment><comments>http://www.phpweblog.net/zwws/archive/2007/02/23/944.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.phpweblog.net/zwws/comments/commentRss/944.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/zwws/services/trackbacks/944.html</trackback:ping><description><![CDATA[给个通俗的解释吧. <br />例表a <br />aid adate <br />1 a1 <br />2 a2 <br />3 a3 <br />表b <br />bid bdate <br />1 b1 <br />2 b2 <br />4 b4 <br />两个表a,b相连接,要取出id相同的字段 <br />select * from a inner join b on a.aid = b.bid这是仅取出匹配的数据. <br />此时的取出的是: <br />1 a1 b1 <br />2 a2 b2 <br />那么left join 指: <br />select * from a left join b on a.aid = b.bid <br />首先取出a表中所有数据,然后再加上与a,b匹配的的数据 <br />此时的取出的是: <br />1 a1 b1 <br />2 a2 b2 <br />3 a3 空字符 <br />同样的也有right join <br />指的是首先取出b表中所有数据,然后再加上与a,b匹配的的数据 <br />此时的取出的是: <br />1 a1 b1 <br />2 a2 b2 <br />4 空字符 b4<br /><br />LEFT JOIN 或 LEFT OUTER JOIN。 <br />左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行，而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行，则在相关联的结果集行中右表的所有选择列表列均为空值。 <br /><br /><img src ="http://www.phpweblog.net/zwws/aggbug/944.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/zwws/" target="_blank">zwws</a> 2007-02-23 17:32 <a href="http://www.phpweblog.net/zwws/archive/2007/02/23/944.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>php实现首页自动选择语言转跳</title><link>http://www.phpweblog.net/zwws/archive/2007/02/19/922.html</link><dc:creator>zwws</dc:creator><author>zwws</author><pubDate>Sun, 18 Feb 2007 16:57:00 GMT</pubDate><guid>http://www.phpweblog.net/zwws/archive/2007/02/19/922.html</guid><wfw:comment>http://www.phpweblog.net/zwws/comments/922.html</wfw:comment><comments>http://www.phpweblog.net/zwws/archive/2007/02/19/922.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/zwws/comments/commentRss/922.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/zwws/services/trackbacks/922.html</trackback:ping><description><![CDATA[
		<p>很多网站在首页上做一些链接，让用户来选择将要访问的各自的语言页面，让中国人选择“中文”，韩国人选择“朝鲜语”，等等。那么能不能做程序来自动帮助选择呢？<br />答案是肯定的，大家都在用google，你用中文系统打开google的首页，打开的自然是中文首页，而不会是其他语言。因为google会自动判断用户系统使用的首选语言是什么。<br />怎样才能做到像google那样呢，其实很简单，<br />在浏览器发给web服务器的 HTTP Headers Information 中包含了这样一个信息 Accept-Language<br />这个信息就是，浏览器中 工具-&gt;Internet选项-&gt;常规 下的 语言， 它就是用来设置浏览器可接受的语言首选项的， 它可以是多种可接受语言的优先排序列。</p>
		<p>下面以PHP为例，<br />用户可接受的语言信息，放在$_SERVER['HTTP_ACCEPT_LANGUAGE']里，<br />变量信息是类似这样的 "zh-cn"， 如果是多语言列，是类似 "zh-cn,en;q=0.8,ko;q=0.5,zh-tw;q=0.3"<br />下面的问题可以迎刃而解了。</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">&lt;?</span>
				<span style="COLOR: #000000">php<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #008080">error_reporting</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #ff00ff">E_ALL</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">^</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #ff00ff">E_NOTICE</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000"> 分析 HTTP_ACCEPT_LANGUAGE 的属性<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />// 这里只取第一语言设置 （其他可根据需要增强功能，这里只做简单的方法演示）</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #008080">preg_match</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">/^([a-z\-]+)/i</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #800080">$_SERVER</span>
				<span style="COLOR: #000000">[</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">HTTP_ACCEPT_LANGUAGE</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">]</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #800080">$matches</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #800080">$lang</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #800080">$matches</span>
				<span style="COLOR: #000000">[</span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">];<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">switch</span>
				<span style="COLOR: #000000"> (</span>
				<span style="COLOR: #800080">$lang</span>
				<span style="COLOR: #000000">) {<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: #0000ff">case</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">zh-cn</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">:</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />                </span>
				<span style="COLOR: #008080">header</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">Location: http://cn.example.com/</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">); <br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />                </span>
				<span style="COLOR: #0000ff">break</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: #0000ff">case</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">zh-tw</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">:</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />                </span>
				<span style="COLOR: #008080">header</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">Location: http://tw.example.com/</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">); <br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />                </span>
				<span style="COLOR: #0000ff">break</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: #0000ff">case</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">ko</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">:</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />                </span>
				<span style="COLOR: #008080">header</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">Location: http://ko.example.com/</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">); <br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />                </span>
				<span style="COLOR: #0000ff">break</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: #0000ff">default</span>
				<span style="COLOR: #000000">:</span>
				<span style="COLOR: #000000"> <br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />                </span>
				<span style="COLOR: #008080">header</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">Location: http://en.example.com/</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">); <br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />                </span>
				<span style="COLOR: #0000ff">break</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />}<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #000000">?&gt;</span>
				<span style="COLOR: #000000"> </span>
		</div>
<img src ="http://www.phpweblog.net/zwws/aggbug/922.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/zwws/" target="_blank">zwws</a> 2007-02-19 00:57 <a href="http://www.phpweblog.net/zwws/archive/2007/02/19/922.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>顺序输出 123A, 123B,123C... 实现方式。</title><link>http://www.phpweblog.net/zwws/archive/2007/02/18/921.html</link><dc:creator>zwws</dc:creator><author>zwws</author><pubDate>Sun, 18 Feb 2007 05:00:00 GMT</pubDate><guid>http://www.phpweblog.net/zwws/archive/2007/02/18/921.html</guid><wfw:comment>http://www.phpweblog.net/zwws/comments/921.html</wfw:comment><comments>http://www.phpweblog.net/zwws/archive/2007/02/18/921.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.phpweblog.net/zwws/comments/commentRss/921.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/zwws/services/trackbacks/921.html</trackback:ping><description><![CDATA[luanren：<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">&lt;?</span><span style="COLOR: #000000">php<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">65</span><span style="COLOR: #000000">;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">91</span><span style="COLOR: #000000">;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />{<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">echo</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">123</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">.</span><span style="COLOR: #000000"> </span><span style="COLOR: #008080">chr</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">) </span><span style="COLOR: #000000">.</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;br&gt;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />}<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">?&gt;</span><span style="COLOR: #000000"> </span></div><br />qingis：<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">&lt;?</span><span style="COLOR: #000000">php<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #800080">$letters</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #008080">range</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">A</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Z</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">26</span><span style="COLOR: #000000">;</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />{<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">echo</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">123</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.</span><span style="COLOR: #800080">$letters</span><span style="COLOR: #000000">[</span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />}<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">?&gt;</span><span style="COLOR: #000000"> </span></div><br />cator (标哥) ：<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">&lt;?</span><span style="COLOR: #000000">php<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #800080">$c</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">A</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">; </span><span style="COLOR: #800080">$c</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">AA</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">; </span><span style="COLOR: #800080">$c</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />{<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">echo</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">123$c&lt;br&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />} <br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">?&gt;</span></div><img src ="http://www.phpweblog.net/zwws/aggbug/921.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/zwws/" target="_blank">zwws</a> 2007-02-18 13:00 <a href="http://www.phpweblog.net/zwws/archive/2007/02/18/921.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PHP代码收集[标哥版]</title><link>http://www.phpweblog.net/zwws/archive/2007/02/18/920.html</link><dc:creator>zwws</dc:creator><author>zwws</author><pubDate>Sun, 18 Feb 2007 04:27:00 GMT</pubDate><guid>http://www.phpweblog.net/zwws/archive/2007/02/18/920.html</guid><wfw:comment>http://www.phpweblog.net/zwws/comments/920.html</wfw:comment><comments>http://www.phpweblog.net/zwws/archive/2007/02/18/920.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/zwws/comments/commentRss/920.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/zwws/services/trackbacks/920.html</trackback:ping><description><![CDATA[
		<p>收集自PHPChina 作者:标哥<br /><strong>1&gt;</strong><br /><u>问题描述：</u><br />输出结果排列问题想输出<br />结果5个一行,例如<br />000 001 002 003 004<br />005 006 007 008 009<br />代码尽量简洁<br /><u>解决方法：</u><br /></p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">for</span>
				<span style="COLOR: #000000"> (</span>
				<span style="COLOR: #800080">$c</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">0</span>
				<span style="COLOR: #000000">; </span>
				<span style="COLOR: #800080">$c</span>
				<span style="COLOR: #000000">!=</span>
				<span style="COLOR: #000000">1000</span>
				<span style="COLOR: #000000">; </span>
				<span style="COLOR: #800080">$c</span>
				<span style="COLOR: #000000">++</span>
				<span style="COLOR: #000000">)<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />{<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #008080">printf</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">%03d%s</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #800080">$c</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000"> (</span>
				<span style="COLOR: #800080">$c</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">)</span>
				<span style="COLOR: #000000">%</span>
				<span style="COLOR: #000000">5</span>
				<span style="COLOR: #000000">==</span>
				<span style="COLOR: #000000">0</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">?</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">&lt;br&gt;</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">:</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />}</span>
		</div>
		<p>
				<br />
				<strong>2&gt;</strong>
				<br />
				<u>问题描述：</u>
				<br />$a,$b,$c,$d值=1时，则结果为true<br />$a = 1;  //TRUE<br />$b = 1;  //TRUE<br />$c = 2;  //FALSE<br />$d = 1;  //TRUE<br />那么想统计结果为true的语句个数应该写？</p>
		<p>
		</p>
		<p>
				<u>解决方法：</u>
		</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />
				<span>function find1() {<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #800080">$args</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span>func_get_args();<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #800080">$result</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #008080">array_count_values</span>
				<span style="COLOR: #000000">(</span>
				<span>$args);<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">return</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #800080">$result</span>
				<span style="COLOR: #000000">[</span>
				<span>1];<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />}<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">echo</span>
				<span style="COLOR: #000000"> find1(</span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">); </span>
		</div>
		<br />
		<strong>3&gt;<br /></strong>
		<u>问题描述：</u>
		<br />$a<br />$b<br />$c 
<p></p><p>1、$a不等于$b不等于$c应该怎么样写？<br />这个我用&amp;&amp;能写出来，不过感觉公式有点长，想问下有没有简便的语句？</p><p>2、$a等于$b但不等于$c<br />这个不大明白该怎么写</p><p><br /><u>解决方法：</u><br />1、$a不等于$b不等于$c应该怎么样写？<br />传统的方法： $a!=$b &amp;&amp; $b!=$c &amp;&amp; $b!=$c<br />写成函数：<br /></p><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /><span>function checkDiff() {<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #800080">$args</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span>func_get_args();<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #008080">count</span><span style="COLOR: #000000">(</span><span style="COLOR: #008080">array_unique</span><span style="COLOR: #000000">(</span><span style="COLOR: #800080">$args</span><span style="COLOR: #000000">)) </span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000"> </span><span style="COLOR: #008080">count</span><span style="COLOR: #000000">(</span><span>$args);<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" />}<br /><img src="http://www.phpweblog.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #008080">var_export</span><span style="COLOR: #000000">( checkDiff(</span><span style="COLOR: #800080">$a</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$b</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$c</span><span style="COLOR: #000000">) );</span></div><br /><p>2、$a等于$b但不等于$c<br />$a==$b &amp;&amp; $b!=$c<br /></p><img src ="http://www.phpweblog.net/zwws/aggbug/920.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/zwws/" target="_blank">zwws</a> 2007-02-18 12:27 <a href="http://www.phpweblog.net/zwws/archive/2007/02/18/920.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>