﻿<?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>BlogJava-无涯-文章分类-database</title><link>http://www.blogjava.net/koradji/category/38075.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 24 Apr 2012 16:54:17 GMT</lastBuildDate><pubDate>Tue, 24 Apr 2012 16:54:17 GMT</pubDate><ttl>60</ttl><item><title>查询表中重复或不重复的记录，要求显示所有字段</title><link>http://www.blogjava.net/koradji/articles/375106.html</link><dc:creator>koradji</dc:creator><author>koradji</author><pubDate>Wed, 18 Apr 2012 06:46:00 GMT</pubDate><guid>http://www.blogjava.net/koradji/articles/375106.html</guid><wfw:comment>http://www.blogjava.net/koradji/comments/375106.html</wfw:comment><comments>http://www.blogjava.net/koradji/articles/375106.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/koradji/comments/commentRss/375106.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/koradji/services/trackbacks/375106.html</trackback:ping><description><![CDATA[<div>1. 打开重复记录的单个字段：<br />select <span style="color: red;">distinct</span> name from table<br />2. 打开重复记录的所有字段值：<br />select&nbsp; * from table where fid in(select <span style="color: red;">min</span>(fid) from table group by name)<br />假定：name字段包含重复值<br />3. 打开重复任意次数的所有记录：<br />select * from table where name in(select name from table group by name <span style="color: red;">having count</span>(name)=1)<br /></div><img src ="http://www.blogjava.net/koradji/aggbug/375106.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/koradji/" target="_blank">koradji</a> 2012-04-18 14:46 <a href="http://www.blogjava.net/koradji/articles/375106.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>db2中的相关子查询</title><link>http://www.blogjava.net/koradji/articles/301690.html</link><dc:creator>koradji</dc:creator><author>koradji</author><pubDate>Mon, 09 Nov 2009 06:04:00 GMT</pubDate><guid>http://www.blogjava.net/koradji/articles/301690.html</guid><wfw:comment>http://www.blogjava.net/koradji/comments/301690.html</wfw:comment><comments>http://www.blogjava.net/koradji/articles/301690.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/koradji/comments/commentRss/301690.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/koradji/services/trackbacks/301690.html</trackback:ping><description><![CDATA[<p>Correlated Subqueries<br />
A subquery that is allowed to refer to any of the previously mentioned tables is known as a correlated subquery. We also say that the subquery has a correlated reference to a table in the main query. </p>
<p>The following example uses an uncorrelated subquery to list the employee number and name of employees in department 'A00' with a salary greater than the average salary of the department: </p>
<p>&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp; SELECT EMPNO, LASTNAME<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE WORKDEPT = 'A00'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AND SALARY &gt; (SELECT AVG(SALARY)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE WORKDEPT = 'A00')</p>
<p>This statement produces the following result: </p>
<p>&nbsp;EMPNO&nbsp; LASTNAME<br />
&nbsp;------ ---------------<br />
&nbsp;000010 HAAS<br />
&nbsp;000110 LUCCHESSI</p>
<p>If you want to know the average salary for every department, the subquery needs to be evaluated once for every department. You can do this through the correlation capability of SQL, which permits you to write a subquery that is executed repeatedly, once for each row of the table identified in the outer-level query. </p>
<p>The following example uses a correlated subquery to list all the employees whose salary is higher than the average salary of their department: </p>
<p>&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp; SELECT E1.EMPNO, E1.LASTNAME, E1.WORKDEPT<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE E1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE SALARY &gt; (SELECT AVG(SALARY) <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE E2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE E2.WORKDEPT = E1.WORKDEPT)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ORDER BY E1.WORKDEPT</p>
<p>In this query, the subquery is evaluated once for every department. The result is: </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; EMPNO&nbsp; LASTNAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WORKDEPT<br />
&nbsp;&nbsp;&nbsp;&nbsp; ------ --------------- --------<br />
&nbsp;&nbsp;&nbsp;&nbsp; 000010 HAAS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A00&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 000110 LUCCHESSI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A00&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 000030 KWAN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C01&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 000060 STERN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D11&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 000150 ADAMSON&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D11&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 000170 YOSHIMURA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D11&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 000200 BROWN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D11&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 000220 LUTZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D11&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 000070 PULASKI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D21&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 000240 MARINO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D21&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 000270 PEREZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D21&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 000090 HENDERSON&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E11&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 000280 SCHNEIDER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E11&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 000100 SPENSER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E21&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 000330 LEE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E21&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 000340 GOUNOT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E21&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>To write a query with a correlated subquery, use the same basic format of an ordinary outer query with a subquery. However, in the FROM clause of the outer query, just after the table name, place a correlation name. The subquery may then contain column references qualified by the correlation name. For example, if E1 is a correlation name, then E1.WORKDEPT means the WORKDEPT value of the current row of the table in the outer query. The subquery is (conceptually) reevaluated for each row of the table in the outer query. </p>
<p>By using a correlated subquery, you let the system do the work for you and reduce the amount of code you need to write within your application. </p>
<p>Unqualified correlated references are allowed in DB2. For example, the table EMPLOYEE has a column named LASTNAME, but the table SALES has a column named SALES_PERSON, and no column named LASTNAME. </p>
<p>&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp; SELECT LASTNAME, FIRSTNME, COMM <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE 3 &gt; (SELECT AVG(SALES)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM SALES<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE LASTNAME = SALES_PERSON)</p>
<p>In this example, the system checks the innermost FROM clause for a LASTNAME column. Not finding one, it then checks the next innermost FROM clause (which in this case is the outer FROM clause). While not always necessary, qualifying correlated references is recommended to improve the readability of the query and to ensure that you are getting the result that you intend. </p>
<p><br />
Implementing a Correlated Subquery<br />
When would you want to use a correlated subquery? The use of a column function is sometimes a clue. </p>
<p>Let's say you want to list the employees whose level of education is higher than the average for their department. </p>
<p>First, you must determine the select-list items. The problem says "List the employees". This implies that LASTNAME from the EMPLOYEE table should be sufficient to uniquely identify employees. The problem also states the level of education (EDLEVEL) and the employees' departments (WORKDEPT) as conditions. While the problem does not explicitly ask for columns to be displayed, including them in the select-list will help illustrate the solution. A part of the query can now be constructed: </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; SELECT LASTNAME, WORKDEPT, EDLEVEL<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE</p>
<p>Next, a search condition (WHERE clause) is needed. The problem statement says, "...whose level of education is higher than the average for that employee's department". This means that for every employee in the table, the average education level for that employee's department must be computed. This statement fits the description of a correlated subquery. Some unknown property (the average level of education of the current employee's department) is being computed for each row. A correlation name is needed for the EMPLOYEE table: </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; SELECT LASTNAME, WORKDEPT, EDLEVEL<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE E1</p>
<p>The subquery needed is simple. It computes the average level of education for each department. The complete SQL statement is: </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; SELECT LASTNAME, WORKDEPT, EDLEVEL<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE E1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE EDLEVEL &gt; (SELECT AVG(EDLEVEL)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE&nbsp; E2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE E2.WORKDEPT = E1.WORKDEPT)</p>
<p>The result is: </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; LASTNAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WORKDEPT EDLEVEL<br />
&nbsp;&nbsp;&nbsp;&nbsp; --------------- -------- -------<br />
&nbsp;&nbsp;&nbsp;&nbsp; HAAS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18<br />
&nbsp;&nbsp;&nbsp;&nbsp; KWAN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20<br />
&nbsp;&nbsp;&nbsp;&nbsp; PULASKI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16<br />
&nbsp;&nbsp;&nbsp;&nbsp; HENDERSON&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16<br />
&nbsp;&nbsp;&nbsp;&nbsp; LUCCHESSI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19<br />
&nbsp;&nbsp;&nbsp;&nbsp; PIANKA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />
&nbsp;&nbsp;&nbsp;&nbsp; SCOUTTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />
&nbsp;&nbsp;&nbsp;&nbsp; JONES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />
&nbsp;&nbsp;&nbsp;&nbsp; LUTZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18<br />
&nbsp;&nbsp;&nbsp;&nbsp; MARINO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />
&nbsp;&nbsp;&nbsp;&nbsp; JOHNSON&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16<br />
&nbsp;&nbsp;&nbsp;&nbsp; SCHNEIDER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />
&nbsp;&nbsp;&nbsp;&nbsp; MEHTA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16<br />
&nbsp;&nbsp;&nbsp;&nbsp; GOUNOT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16</p>
<p>Suppose that instead of listing the employee's department number, you list the department name. The information you need (DEPTNAME) is in a separate table (DEPARTMENT). The outer-level query that defines a correlation variable can also be a join query (see Selecting Data from More Than One Table for details). </p>
<p>When you use joins in an outer-level query, list the tables to be joined in the FROM clause, and place the correlation name next to the appropriate table name. </p>
<p>To modify the query to list the department's name instead of its number, replace WORKDEPT by DEPTNAME in the select-list. The FROM clause must now also include the DEPARTMENT table, and the WHERE clause must express the appropriate join condition. </p>
<p>This is the modified query: </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; SELECT LASTNAME, DEPTNAME, EDLEVEL<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE E1, DEPARTMENT<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE E1.WORKDEPT = DEPARTMENT.DEPTNO<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AND EDLEVEL &gt; (SELECT AVG(EDLEVEL)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE E2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE E2.WORKDEPT = E1.WORKDEPT)</p>
<p>This statement produces the following result: </p>
<p>&nbsp;LASTNAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DEPTNAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EDLEVEL<br />
&nbsp;--------------- ----------------------------- -------<br />
&nbsp;HAAS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPIFFY COMPUTER SERVICE DIV.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18<br />
&nbsp;LUCCHESSI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPIFFY COMPUTER SERVICE DIV.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19<br />
&nbsp;KWAN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INFORMATION CENTER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20<br />
&nbsp;PIANKA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MANUFACTURING SYSTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />
&nbsp;SCOUTTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MANUFACTURING SYSTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />
&nbsp;JONES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MANUFACTURING SYSTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />
&nbsp;LUTZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MANUFACTURING SYSTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18<br />
&nbsp;PULASKI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ADMINISTRATION SYSTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16<br />
&nbsp;MARINO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ADMINISTRATION SYSTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />
&nbsp;JOHNSON&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ADMINISTRATION SYSTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16<br />
&nbsp;HENDERSON&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPERATIONS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16<br />
&nbsp;SCHNEIDER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPERATIONS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />
&nbsp;MEHTA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SOFTWARE SUPPORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16<br />
&nbsp;GOUNOT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SOFTWARE SUPPORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16</p>
<p>The above examples show that the correlation name used in a subquery must be defined in the FROM clause of some query that contains the correlated subquery. However, this containment may involve several levels of nesting. </p>
<p>Suppose that some departments have only a few employees and therefore their average education level may be misleading. You might decide that in order for the average level of education to be a meaningful number to compare an employee against, there must be at least five employees in a department. So now we have to list the employees whose level of education is higher than the average for that employee's department, and only consider departments with at least five employees. </p>
<p>The problem implies another subquery because, for each employee in the outer-level query, the total number of employees in that person's department must be counted: </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; SELECT COUNT(*)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE E3<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE E3.WORKDEPT = E1.WORKDEPT</p>
<p>Only if the count is greater than or equal to 5 is an average to be computed: </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; SELECT AVG(EDLEVEL)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE E2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE E2.WORKDEPT = E1.WORKDEPT<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AND 5 &lt;= (SELECT COUNT(*)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE&nbsp; E3<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE E3.WORKDEPT = E1.WORKDEPT)</p>
<p>Finally, only those employees whose level of education is greater than the average for that department are included: </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; SELECT LASTNAME, DEPTNAME, EDLEVEL<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE E1, DEPARTMENT<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE E1.WORKDEPT = DEPARTMENT.DEPTNO<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AND EDLEVEL &gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SELECT AVG(EDLEVEL)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE E2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE E2.WORKDEPT = E1.WORKDEPT<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AND 5 &lt;=<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SELECT COUNT(*)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM EMPLOYEE E3<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE E3.WORKDEPT = E1.WORKDEPT))</p>
<p>This statement produces the following result: </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; LASTNAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DEPTNAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EDLEVEL<br />
&nbsp;&nbsp;&nbsp;&nbsp; --------------- ----------------------------- -------<br />
&nbsp;&nbsp;&nbsp;&nbsp; PIANKA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MANUFACTURING SYSTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />
&nbsp;&nbsp;&nbsp;&nbsp; SCOUTTEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MANUFACTURING SYSTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />
&nbsp;&nbsp;&nbsp;&nbsp; JONES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MANUFACTURING SYSTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />
&nbsp;&nbsp;&nbsp;&nbsp; LUTZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MANUFACTURING SYSTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18<br />
&nbsp;&nbsp;&nbsp;&nbsp; PULASKI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ADMINISTRATION SYSTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16<br />
&nbsp;&nbsp;&nbsp;&nbsp; MARINO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ADMINISTRATION SYSTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<br />
&nbsp;&nbsp;&nbsp;&nbsp; JOHNSON&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ADMINISTRATION SYSTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16<br />
&nbsp;&nbsp;&nbsp;&nbsp; HENDERSON&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPERATIONS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16<br />
&nbsp;&nbsp;&nbsp;&nbsp; SCHNEIDER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPERATIONS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17</p>
<br />
注：<br />
1.什么时候用相关子查询呢？<br />
当查询条件中包含有对column的函数计算时，考虑使用相关子查询；<br />
2.在Hibernate里如何实现相关子查询的功能呢？<br />
<br />
<img src ="http://www.blogjava.net/koradji/aggbug/301690.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/koradji/" target="_blank">koradji</a> 2009-11-09 14:04 <a href="http://www.blogjava.net/koradji/articles/301690.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>db2 PATCH用法</title><link>http://www.blogjava.net/koradji/articles/257837.html</link><dc:creator>koradji</dc:creator><author>koradji</author><pubDate>Wed, 04 Mar 2009 09:27:00 GMT</pubDate><guid>http://www.blogjava.net/koradji/articles/257837.html</guid><wfw:comment>http://www.blogjava.net/koradji/comments/257837.html</wfw:comment><comments>http://www.blogjava.net/koradji/articles/257837.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/koradji/comments/commentRss/257837.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/koradji/services/trackbacks/257837.html</trackback:ping><description><![CDATA[测试中，有时候需要临时修改/删除表中的数据，又不能影响用户的测试。这时，便需要使用PATCH来改变数据。<br />
具体的方法是，在大机环境下，编写shell脚本来执行db2命令。<br />
举例：<br />
<p style="background-color: #c0c0c0">#! /usr/bin/ksh<br />
#<br />
#<br />
#<br />
db2 connect to&nbsp;表名 user&nbsp;&lt;userid&gt;&nbsp; using &lt;password&gt;<br />
db2 set current schema &lt;schema名&gt;<br />
#导出表中数据，备份检证用<br />
db2 "export to T37A00MG_01BEFORE.csv of del messages export.log select * from T37A00MG"<br />
db2 "export to T37A00SF_01BEFORE.csv of del messages export.log select * from T37A00SF"<br />
#查询<br />
db2 "select KA4ZN,TE0WA,COUNT(*) from T37A00MG group by KA4ZN,TE0WA"<br />
db2 "select KA4ZN,TE0WA,COUNT(*) from T37A00SF group by KA4ZN,TE0WA"<br />
#更新数据<br />
db2 "update T37A00MG set TE0WA='SYSTEM' where TE0WA&lt;&gt; 'SYSTEM'"<br />
db2 "update T37A00SF set TE0WA='SYSTEM' where TE0WA&lt;&gt; 'SYSTEM'"<br />
#查询确认<br />
db2 "select KA4ZN,TE0WA,COUNT(*) from T37A00MG group by KA4ZN,TE0WA"<br />
db2 "select KA4ZN,TE0WA,COUNT(*) from T37A00SF group by KA4ZN,TE0WA"<br />
#导出表中数据，备份检证用<br />
db2 "export to T37A00MG_02AFTER.csv of del messages export.log select * from T37A00MG"<br />
db2 "export to T37A00SF_02AFTER.csv of del messages export.log select * from T37A00SF"</p>
<img src ="http://www.blogjava.net/koradji/aggbug/257837.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/koradji/" target="_blank">koradji</a> 2009-03-04 17:27 <a href="http://www.blogjava.net/koradji/articles/257837.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>db2常用命令</title><link>http://www.blogjava.net/koradji/articles/257831.html</link><dc:creator>koradji</dc:creator><author>koradji</author><pubDate>Wed, 04 Mar 2009 09:06:00 GMT</pubDate><guid>http://www.blogjava.net/koradji/articles/257831.html</guid><wfw:comment>http://www.blogjava.net/koradji/comments/257831.html</wfw:comment><comments>http://www.blogjava.net/koradji/articles/257831.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/koradji/comments/commentRss/257831.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/koradji/services/trackbacks/257831.html</trackback:ping><description><![CDATA[<div class="t_msgfont" id="postmessage_361129">IBM DB2上机操作指南<br />
1.启动实例(db2inst1)：实例相当于informix中的服务<br />
db2start<br />
2.停止实例(db2inst1)：<br />
db2stop<br />
3.列出所有实例(db2inst1)<br />
db2ilist<br />
4.列出当前实例：<br />
db2 get instance<br />
5.察看示例配置文件：<br />
db2 get dbm cfg|more<br />
6.更新数据库管理器参数信息：<br />
db2 update dbm cfg using para_name para_value<br />
7.创建数据库：<br />
db2 create db test<br />
8.察看数据库配置参数信息<br />
db2 get db cfg for test|more<br />
9.更新数据库参数配置信息<br />
db2 update db cfg for test using para_name para_value<br />
10.删除数据库：<br />
db2 drop db test<br />
11.连接数据库<br />
db2 connect to test<br />
12.列出所有表空间的详细信息。<br />
db2 list tablespaces show detail<br />
13.列出容器的信息<br />
db2 list tablespace containers for tbs_id show detail<br />
13.创建表：<br />
db2 ceate table tb1(id integer not null,name char(10))<br />
14.列出所有表<br />
db2 list tables<br />
15.插入数据：<br />
db2 insert into tb1 values(1,&#8217;sam&#8217;);<br />
db2 insert into tb2 values(2,&#8217;smitty&#8217;);<br />
16.查询数据：<br />
db2 &#8220;select * from tb1&#8221;<br />
17.删除数据：<br />
db2 delete from tb1 where id=1<br />
18.创建索引：<br />
db2 create index idx1 on tb1(id);<br />
19.创建视图：<br />
db2 create view view1 as select id from tb1<br />
20.查询视图：<br />
db2 select * from view1<br />
21.节点编目<br />
db2 catalog tcp node node_name remote server_ip server server_port<br />
22.察看端口号<br />
db2 get dbm cfg|grep SVCENAME<br />
23.节点的附接<br />
db2 attach to node_name<br />
24.察看本地节点<br />
db2 list node direcotry<br />
25.节点反编目<br />
db2 uncatalog node node_name<br />
26.数据库编目<br />
db2 catalog db db_name as db_alias at node node_name<br />
27.察看数据库的编目<br />
db2 list db directory<br />
28.连接数据库<br />
db2 connect to db_alias user user_name using user_password<br />
29.数据库反编目<br />
db2 uncatalog db db_alias<br />
30.导出数据<br />
db2 export to myfile of ixf messages msg select * from tb1<br />
31.导入数据<br />
db2 import from myfile of ixf messages msg replace into tb1<br />
32.导出数据库的所有表数据<br />
db2move test export <br />
33.生成数据库的定义<br />
db2look -d db_alias -a -e -m -l -x -f -o db2look.sql<br />
34.创建数据库<br />
db2 create db test1<br />
35.生成定义<br />
db2 -tvf db2look.sql<br />
36.导入数据库所有的数据<br />
db2move db_alias import<br />
37.重组检查<br />
db2 reorgchk<br />
38.重组表tb1<br />
db2 reorg table tb1<br />
39.更新统计信息<br />
db2 runstats on table tb1<br />
40.备份数据库test<br />
db2 backup db test<br />
41.恢复数据库test<br />
db2 restore db test<br />
42. 拥有实例的所有程序列表<br />
db2 list application<br />
43.<br />
db2 terminate<br />
44.查看数据表结构<br />
db2 &#8220;describe select * from ggwdxtcs&#8221;<br />
<br />
/*启动命令界面 */&nbsp; &nbsp; db2cmd<br />
/*查看帮助*/&nbsp;&nbsp;db2 ? *<br />
/*连接数据库*/&nbsp; &nbsp;db2 connect to&nbsp;&nbsp;user&nbsp;&nbsp;using <br />
/*查看数据库实例*/ db2ilist<br />
/*启动数据库*/&nbsp;&nbsp;db2start<br />
/*停止数据库应用*/ db2 force applications all<br />
/*停数据库*/&nbsp;&nbsp;db2stop<br />
/*查看表空间*&nbsp;&nbsp;db2 list tablespaces show detail <br />
/*查看表是否有记录*/ db2 select count(*) from <br />
/*从文本导入到数据库表中*/ db2 import from ***.ixf of ixf modified by forcein commitcount 1000 insert into <br />
&nbsp; &nbsp;<br />
modified by forcein&nbsp;&nbsp;/*数据库数据在AIX 和 windows 不同版本之间的格式转换*/<br />
&nbsp; &nbsp;&nbsp; &nbsp; <br />
commitcount **** /*防止数据库提交过多，引起交易日志满,1000－5000 为宜*/<br />
例子：db2 "import from c:\zj\321104\bbsybsj.ixf of ixf modified by forcein insert into bbsybsj"<br />
/*查看sql语句错误解释*/ db2 ? sql**** ****为四位出错编码，不足位前补0<br />
<br />
db2 ? &#8220;sqlstate&#8221;<br />
db2 ? sqlstate=42884<br />
db2 &#8220;select * from syscat.functions&#8221; |grep &#8211;i rtrim<br />
db2 &#8220;select * from syscat.indexes&#8221; <br />
表增加列<br />
db2 alter table 表名 add column 字段名 varchar(4)(字段类型）<br />
修改表里的字段<br />
db2 update 表名 set 字段名='xxx' where .....</div>
<img src ="http://www.blogjava.net/koradji/aggbug/257831.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/koradji/" target="_blank">koradji</a> 2009-03-04 17:06 <a href="http://www.blogjava.net/koradji/articles/257831.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>