<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic SAS SQL: order of results in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-order-of-results/m-p/362170#M64539</link>
    <description>&lt;P&gt;Hi guys ,&amp;nbsp;&lt;BR /&gt;I am doing inner join using proc sql, please see the below code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data am;&lt;BR /&gt;input name$ age;&lt;BR /&gt;datalines;&lt;BR /&gt;am 89&lt;BR /&gt;am 78&lt;BR /&gt;am 45&lt;BR /&gt;na 23&lt;BR /&gt;;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;data am1;&lt;BR /&gt;input name$ marks;&lt;BR /&gt;datalines;&lt;BR /&gt;am 789&lt;BR /&gt;am 9081&lt;BR /&gt;na 2670&lt;BR /&gt;pa 89&lt;BR /&gt;sa 90&lt;BR /&gt;ka 09&lt;BR /&gt;;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;select * from am,am1 where am.name=am1.name;&lt;BR /&gt;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Question : Why age=78 is below the age=45 where as in data step age=78 is above. Request, kindly explain.&lt;BR /&gt;&lt;BR /&gt;SAS Output:&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;name age name marks
&lt;TABLE cellspacing="0" cellpadding="5"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;89&lt;/TD&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;789&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;789&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;78&lt;/TD&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;789&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;89&lt;/TD&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;9081&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;9081&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;78&lt;/TD&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;9081&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;na&lt;/TD&gt;
&lt;TD&gt;23&lt;/TD&gt;
&lt;TD&gt;na&lt;/TD&gt;
&lt;TD&gt;2670&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
    <pubDate>Sat, 27 May 2017 14:32:51 GMT</pubDate>
    <dc:creator>AgentA</dc:creator>
    <dc:date>2017-05-27T14:32:51Z</dc:date>
    <item>
      <title>SAS SQL: order of results</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-order-of-results/m-p/362170#M64539</link>
      <description>&lt;P&gt;Hi guys ,&amp;nbsp;&lt;BR /&gt;I am doing inner join using proc sql, please see the below code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data am;&lt;BR /&gt;input name$ age;&lt;BR /&gt;datalines;&lt;BR /&gt;am 89&lt;BR /&gt;am 78&lt;BR /&gt;am 45&lt;BR /&gt;na 23&lt;BR /&gt;;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;data am1;&lt;BR /&gt;input name$ marks;&lt;BR /&gt;datalines;&lt;BR /&gt;am 789&lt;BR /&gt;am 9081&lt;BR /&gt;na 2670&lt;BR /&gt;pa 89&lt;BR /&gt;sa 90&lt;BR /&gt;ka 09&lt;BR /&gt;;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;select * from am,am1 where am.name=am1.name;&lt;BR /&gt;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Question : Why age=78 is below the age=45 where as in data step age=78 is above. Request, kindly explain.&lt;BR /&gt;&lt;BR /&gt;SAS Output:&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;name age name marks
&lt;TABLE cellspacing="0" cellpadding="5"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;89&lt;/TD&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;789&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;789&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;78&lt;/TD&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;789&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;89&lt;/TD&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;9081&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;45&lt;/TD&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;9081&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;78&lt;/TD&gt;
&lt;TD&gt;am&lt;/TD&gt;
&lt;TD&gt;9081&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;na&lt;/TD&gt;
&lt;TD&gt;23&lt;/TD&gt;
&lt;TD&gt;na&lt;/TD&gt;
&lt;TD&gt;2670&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Sat, 27 May 2017 14:32:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-order-of-results/m-p/362170#M64539</guid>
      <dc:creator>AgentA</dc:creator>
      <dc:date>2017-05-27T14:32:51Z</dc:date>
    </item>
    <item>
      <title>Re: SAS SQL: order of results</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-order-of-results/m-p/362172#M64540</link>
      <description>&lt;P&gt;RTM. You didn't specify any order so you cannot expect any order to the data.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, I didn't run your code but that output doesn't match the code you've shown either. I'm assuming it's correct but you've truncated the output for some reason.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;A href="https://support.sas.com/documentation/cdl/en/sqlproc/69822/HTML/default/viewer.htm#p0hwg3z33gllron184mzdoqwpe3j.htm" target="_blank"&gt;https://support.sas.com/documentation/cdl/en/sqlproc/69822/HTML/default/viewer.htm#p0hwg3z33gllron184mzdoqwpe3j.htm&lt;/A&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;If&amp;nbsp;an ORDER BY clause is omitted, then a particular order to the output rows, such as the order in which the rows are encountered in the queried table, cannot be guaranteed—even if an index is present. Without an ORDER BY clause, the order of the output rows is determined by the internal processing of PROC SQL, the default collating sequence of SAS, and your operating environment.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;</description>
      <pubDate>Sat, 27 May 2017 14:40:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-order-of-results/m-p/362172#M64540</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-05-27T14:40:01Z</dc:date>
    </item>
    <item>
      <title>Re: SAS SQL: order of results</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-order-of-results/m-p/362173#M64541</link>
      <description>&lt;P&gt;Also, that's not an inner join it's a Cartesian join, filtered on marching name.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 27 May 2017 14:40:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-order-of-results/m-p/362173#M64541</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-05-27T14:40:53Z</dc:date>
    </item>
  </channel>
</rss>

