ibm-information-center/dist/eclipse/plugins/i5OS.ic.sqlp_5.4.0.1/rbafykeyuall.htm

143 lines
6.3 KiB
HTML
Raw Permalink Normal View History

2024-04-02 14:02:31 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="reference" />
<meta name="DC.Title" content="Specify UNION ALL" />
<meta name="abstract" content="If you want to keep duplicates in the result of a UNION, specify UNION ALL instead of just UNION." />
<meta name="description" content="If you want to keep duplicates in the result of a UNION, specify UNION ALL instead of just UNION." />
<meta name="DC.subject" content="SELECT statement, UNION ALL, examples, keyword, UNION ALL" />
<meta name="keywords" content="SELECT statement, UNION ALL, examples, keyword, UNION ALL" />
<meta name="DC.Relation" scheme="URI" content="rbafykeyu.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rbafykeyuall" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Specify UNION ALL</title>
</head>
<body id="rbafykeyuall"><a name="rbafykeyuall"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Specify UNION ALL</h1>
<div><p>If you want to keep duplicates in the result of a UNION, specify
UNION ALL instead of just UNION.</p>
<div class="section"><p>Using the same as steps and example as UNION:</p>
</div>
<div class="section"><p>Step 3. SQL combines two interim result tables:</p>
<pre><strong>SELECT</strong> EMPNO
<strong>FROM</strong> CORPDATA.EMPLOYEE
<strong>WHERE</strong> WORKDEPT = 'D11'
<strong>UNION ALL</strong>
<strong>SELECT</strong> EMPNO
<strong>FROM</strong> CORPDATA.EMPPROJACT
<strong>WHERE</strong> PROJNO='MA2112' <strong>OR</strong>
PROJNO= 'MA2113' <strong>OR</strong>
PROJNO= 'AD3111'
<strong>ORDER BY</strong> EMPNO</pre>
<p>Resulting in an ordered result table
that includes duplicates:</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="hsides" border="1" rules="all"><thead align="left"><tr valign="top"><th valign="top" id="d0e71">EMPNO</th>
</tr>
</thead>
<tbody><tr><td valign="top" headers="d0e71 ">000060</td>
</tr>
<tr><td valign="top" headers="d0e71 ">000150</td>
</tr>
<tr><td valign="top" headers="d0e71 ">000150</td>
</tr>
<tr><td valign="top" headers="d0e71 ">000150</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000160</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000160</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000170</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000170</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000170</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000170</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000180</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000180</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000190</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000190</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000190</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000200</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000210</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000210</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000210</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000220</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000230</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000230</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000230</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000230</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000230</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000240</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">000240</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">200170</td>
</tr>
<tr valign="top"><td valign="top" headers="d0e71 ">200220</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section"><p>The UNION ALL operation is associative, for example:</p>
<pre>(<strong>SELECT</strong> PROJNO <strong>FROM</strong> CORPDATA.PROJECT
<strong>UNION ALL
SELECT</strong> PROJNO <strong>FROM</strong> CORPDATA.PROJECT)
<strong>UNION ALL
SELECT</strong> PROJNO <strong>FROM</strong> CORPDATA.EMPPROJACT</pre>
</div>
<div class="section"><p>This statement can also be written as:</p>
<pre><strong>SELECT</strong> PROJNO <strong>FROM</strong> CORPDATA.PROJECT
<strong>UNION ALL
(SELECT</strong> PROJNO <strong>FROM</strong> CORPDATA.PROJECT
<strong>UNION ALL
SELECT</strong> PROJNO <strong>FROM</strong> CORPDATA.EMPPROJACT)</pre>
</div>
<div class="section"><p>When you include the UNION ALL in the same SQL statement as a
UNION operator, however, the result of the operation depends on the order
of evaluation. Where there are no parentheses, evaluation is from left to
right. Where parentheses are included, the parenthesized subselect is evaluated
first, followed, from left to right, by the other parts of the statement.</p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rbafykeyu.htm" title="Using the UNION keyword, you can combine two or more subselects to form a fullselect.">Use UNION keyword to combine subselects</a></div>
</div>
</div>
</body>
</html>