Added: tajo/site/docs/0.10.1/sql_language/predicates.html URL: http://svn.apache.org/viewvc/tajo/site/docs/0.10.1/sql_language/predicates.html?rev=1688350&view=auto ============================================================================== --- tajo/site/docs/0.10.1/sql_language/predicates.html (added) +++ tajo/site/docs/0.10.1/sql_language/predicates.html Tue Jun 30 04:16:52 2015 @@ -0,0 +1,426 @@ + + +<!DOCTYPE html> +<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> +<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <title>Predicates — Apache Tajo 0.11.0 documentation</title> + + + + + + + <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'> + + + + + + + + + + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + + + + <link rel="top" title="Apache Tajo 0.11.0 documentation" href="../index.html"/> + <link rel="up" title="SQL Language" href="../sql_language.html"/> + <link rel="next" title="Time Zone" href="../time_zone.html"/> + <link rel="prev" title="SQL Expressions" href="sql_expression.html"/> + + + <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script> + +</head> + +<body class="wy-body-for-nav" role="document"> + + <div class="wy-grid-for-nav"> + + + <nav data-toggle="wy-nav-shift" class="wy-nav-side"> + <div class="wy-side-nav-search"> + <a href="../index.html" class="fa fa-home"> Apache Tajo</a> + <div role="search"> + <form id ="rtd-search-form" class="wy-form" action="../search.html" method="get"> + <input type="text" name="q" placeholder="Search docs" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> +</div> + </div> + + <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> + + + <ul class="current"> +<li class="toctree-l1"><a class="reference internal" href="../introduction.html">Introduction</a></li> +<li class="toctree-l1"><a class="reference internal" href="../getting_started.html">Getting Started</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#prerequisites">Prerequisites</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#dowload-and-unpack-the-source-code">Dowload and unpack the source code</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#build-source-code">Build source code</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#setting-up-a-local-tajo-cluster">Setting up a local Tajo cluster</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#first-query-execution">First query execution</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../configuration/preliminary.html">Preliminary</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/cluster_setup.html">Cluster Setup</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/tajo_master_configuration.html">Tajo Master Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/worker_configuration.html">Worker Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/catalog_configuration.html">Catalog Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/ha_configuration.html">High Availability for TajoMaster</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/service_config_defaults.html">Cluster Service Configuration Defaults</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/tajo-site-xml.html">The tajo-site.xml File</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/catalog-site-xml.html">The catalog-site.xml File</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../tsql.html">Tajo Shell (TSQL)</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../tsql/meta_command.html">Meta Commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/dfs_command.html">Executing HDFS commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/variables.html">Session Variables</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/admin_command.html">Administration Commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/intro.html">Introducing to TSQL</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/single_command.html">Executing a single command</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/execute_file.html">Executing Queries from Files</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/background_command.html">Executing as background process</a></li> +</ul> +</li> +<li class="toctree-l1 current"><a class="reference internal" href="../sql_language.html">SQL Language</a><ul class="current"> +<li class="toctree-l2"><a class="reference internal" href="data_model.html">Data Model</a></li> +<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition Language</a></li> +<li class="toctree-l2"><a class="reference internal" href="insert.html">INSERT (OVERWRITE) INTO</a></li> +<li class="toctree-l2"><a class="reference internal" href="queries.html">Queries</a></li> +<li class="toctree-l2"><a class="reference internal" href="sql_expression.html">SQL Expressions</a></li> +<li class="toctree-l2 current"><a class="current reference internal" href="">Predicates</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../time_zone.html">Time Zone</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#server-cluster-time-zone">Server Cluster Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#table-time-zone">Table Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#client-time-zone">Client Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#time-zone-id">Time Zone ID</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#examples-of-time-zone">Examples of Time Zone</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../functions.html">Functions</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../functions/math_func_and_operators.html">Math Functions and Operators</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions/string_func_and_operators.html">String Functions and Operators</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions/datetime_func_and_operators.html">DateTime Functions and Operators</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions/network_func_and_operators.html">Network Functions and Operators</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions/json_func.html">JSON Functions</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../table_management.html">Table Management</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../table_management/table_overview.html">Overview of Tajo Tables</a></li> +<li class="toctree-l2"><a class="reference internal" href="../table_management/file_formats.html">File Formats</a></li> +<li class="toctree-l2"><a class="reference internal" href="../table_management/compression.html">Compression</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../table_partitioning.html">Table Partitioning</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/intro_to_partitioning.html">Introduction to Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/column_partitioning.html">Column Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/range_partitioning.html">Range Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/hash_partitioning.html">Hash Partitioning</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../index_overview.html">Index (Experimental Feature)</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../index/types.html">Index Types</a></li> +<li class="toctree-l2"><a class="reference internal" href="../index/how_to_use.html">How to use index?</a></li> +<li class="toctree-l2"><a class="reference internal" href="../index/future_work.html">Future Works</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../backup_and_restore.html">Backup and Restore</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../backup_and_restore/catalog.html">Backup and Restore Catalog</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../hcatalog_integration.html">HCatalog Integration</a></li> +<li class="toctree-l1"><a class="reference internal" href="../hbase_integration.html">HBase Integration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#create-table">CREATE TABLE</a></li> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#drop-table">DROP TABLE</a></li> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#insert-overwrite-into">INSERT (OVERWRITE) INTO</a></li> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#usage">Usage</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../swift_integration.html">OpenStack Swift Integration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#swift-configuration">Swift configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#hadoop-configurations">Hadoop configurations</a></li> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#tajo-configuration">Tajo configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#querying-on-swift">Querying on Swift</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../jdbc_driver.html">Tajo JDBC Driver</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#how-to-get-jdbc-driver">How to get JDBC driver</a></li> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#setting-the-classpath">Setting the CLASSPATH</a></li> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#an-example-jdbc-client">An Example JDBC Client</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../tajo_client_api.html">Tajo Client API</a></li> +<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li> +</ul> + + + </div> + + </nav> + + <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> + + + <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> + <i data-toggle="wy-nav-top" class="fa fa-bars"></i> + <a href="../index.html">Apache Tajo</a> + </nav> + + + + <div class="wy-nav-content"> + <div class="rst-content"> + <div role="navigation" aria-label="breadcrumbs navigation"> + <ul class="wy-breadcrumbs"> + <li><a href="../index.html">Docs</a> »</li> + + <li><a href="../sql_language.html">SQL Language</a> »</li> + + <li>Predicates</li> + <li class="wy-breadcrumbs-aside"> + + <a href="../_sources/sql_language/predicates.txt" rel="nofollow"> View page source</a> + + </li> + </ul> + <hr/> +</div> + <div role="main"> + + <div class="section" id="predicates"> +<h1>Predicates<a class="headerlink" href="#predicates" title="Permalink to this headline">¶</a></h1> +<div class="section" id="in-predicate"> +<h2>IN Predicate<a class="headerlink" href="#in-predicate" title="Permalink to this headline">¶</a></h2> +<p>IN predicate provides row and array comparison.</p> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="n">column_reference</span> <span class="k">IN</span> <span class="p">(</span><span class="n">val1</span><span class="p">,</span> <span class="n">val2</span><span class="p">,</span> <span class="p">...,</span> <span class="n">valN</span><span class="p">)</span> +<span class="n">column_reference</span> <span class="k">NOT</span> <span class="k">IN</span> <span class="p">(</span><span class="n">val1</span><span class="p">,</span> <span class="n">val2</span><span class="p">,</span> <span class="p">...,</span> <span class="n">valN</span><span class="p">)</span> +</pre></div> +</div> +<p>Examples are as follows:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="c1">-- this statement filters lists down all the records where col1 value is 1, 2 or 3:</span> +<span class="k">SELECT</span> <span class="n">col1</span><span class="p">,</span> <span class="n">col2</span> <span class="k">FROM</span> <span class="n">table1</span> <span class="k">WHERE</span> <span class="n">col1</span> <span class="k">IN</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">);</span> + +<span class="c1">-- this statement filters lists down all the records where col1 value is neither 1, 2 nor 3:</span> +<span class="k">SELECT</span> <span class="n">col1</span><span class="p">,</span> <span class="n">col2</span> <span class="k">FROM</span> <span class="n">table1</span> <span class="k">WHERE</span> <span class="n">col1</span> <span class="k">NOT</span> <span class="k">IN</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">);</span> +</pre></div> +</div> +<p>You can use ‘IN clause’ on text data domain as follows:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="n">col1</span><span class="p">,</span> <span class="n">col2</span> <span class="k">FROM</span> <span class="n">table1</span> <span class="k">WHERE</span> <span class="n">col2</span> <span class="k">IN</span> <span class="p">(</span><span class="s1">'tajo'</span><span class="p">,</span> <span class="s1">'hadoop'</span><span class="p">);</span> + +<span class="k">SELECT</span> <span class="n">col1</span><span class="p">,</span> <span class="n">col2</span> <span class="k">FROM</span> <span class="n">table1</span> <span class="k">WHERE</span> <span class="n">col2</span> <span class="k">NOT</span> <span class="k">IN</span> <span class="p">(</span><span class="s1">'tajo'</span><span class="p">,</span> <span class="s1">'hadoop'</span><span class="p">);</span> +</pre></div> +</div> +</div> +<div class="section" id="string-pattern-matching-predicates"> +<h2>String Pattern Matching Predicates<a class="headerlink" href="#string-pattern-matching-predicates" title="Permalink to this headline">¶</a></h2> +<div class="section" id="like"> +<h3>LIKE<a class="headerlink" href="#like" title="Permalink to this headline">¶</a></h3> +<p>LIKE operator returns true or false depending on whether its pattern matches the given string. An underscore (_) in pattern matches any single character. A percent sign (%) matches any sequence of zero or more characters.</p> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="n">string</span> <span class="k">LIKE</span> <span class="n">pattern</span> +<span class="n">string</span> <span class="k">NOT</span> <span class="k">LIKE</span> <span class="n">pattern</span> +</pre></div> +</div> +</div> +<div class="section" id="ilike"> +<h3>ILIKE<a class="headerlink" href="#ilike" title="Permalink to this headline">¶</a></h3> +<p>ILIKE is the same to LIKE, but it is a case insensitive operator. It is not in the SQL standard. We borrow this operator from PostgreSQL.</p> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="n">string</span> <span class="k">ILIKE</span> <span class="n">pattern</span> +<span class="n">string</span> <span class="k">NOT</span> <span class="k">ILIKE</span> <span class="n">pattern</span> +</pre></div> +</div> +</div> +<div class="section" id="similar-to"> +<h3>SIMILAR TO<a class="headerlink" href="#similar-to" title="Permalink to this headline">¶</a></h3> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="n">string</span> <span class="k">SIMILAR</span> <span class="k">TO</span> <span class="n">pattern</span> +<span class="n">string</span> <span class="k">NOT</span> <span class="k">SIMILAR</span> <span class="k">TO</span> <span class="n">pattern</span> +</pre></div> +</div> +<p>It returns true or false depending on whether its pattern matches the given string. Also like LIKE, <code class="docutils literal"><span class="pre">SIMILAR</span> <span class="pre">TO</span></code> uses <code class="docutils literal"><span class="pre">_</span></code> and <code class="docutils literal"><span class="pre">%</span></code> as metacharacters denoting any single character and any string, respectively.</p> +<p>In addition to these metacharacters borrowed from LIKE, ‘SIMILAR TO’ supports more powerful pattern-matching metacharacters borrowed from regular expressions:</p> +<table border="1" class="docutils"> +<colgroup> +<col width="21%" /> +<col width="79%" /> +</colgroup> +<thead valign="bottom"> +<tr class="row-odd"><th class="head">metacharacter</th> +<th class="head">description</th> +</tr> +</thead> +<tbody valign="top"> +<tr class="row-even"><td>&#124;</td> +<td>denotes alternation (either of two alternatives).</td> +</tr> +<tr class="row-odd"><td><ul class="first last simple"> +<li></li> +</ul> +</td> +<td>denotes repetition of the previous item zero or more times.</td> +</tr> +<tr class="row-even"><td><ul class="first last simple"> +<li></li> +</ul> +</td> +<td>denotes repetition of the previous item one or more times.</td> +</tr> +<tr class="row-odd"><td>?</td> +<td>denotes repetition of the previous item zero or one time.</td> +</tr> +<tr class="row-even"><td>{m}</td> +<td>denotes repetition of the previous item exactly m times.</td> +</tr> +<tr class="row-odd"><td>{m,}</td> +<td>denotes repetition of the previous item m or more times.</td> +</tr> +<tr class="row-even"><td>{m,n}</td> +<td>denotes repetition of the previous item at least m and not more than n times.</td> +</tr> +<tr class="row-odd"><td>[]</td> +<td>A bracket expression specifies a character class, just as in POSIX regular expressions.</td> +</tr> +<tr class="row-even"><td>()</td> +<td>Parentheses can be used to group items into a single logical item.</td> +</tr> +</tbody> +</table> +<p>Note that <cite>.`</cite> is not used as a metacharacter in <code class="docutils literal"><span class="pre">SIMILAR</span> <span class="pre">TO</span></code> operator.</p> +</div> +<div class="section" id="regular-expressions"> +<h3>Regular expressions<a class="headerlink" href="#regular-expressions" title="Permalink to this headline">¶</a></h3> +<p>Regular expressions provide a very powerful means for string pattern matching. In the current Tajo, regular expressions are based on Java-style regular expressions instead of POSIX regular expression. The main difference between java-style one and POSIX’s one is character class.</p> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="n">string</span> <span class="o">~</span> <span class="n">pattern</span> +<span class="n">string</span> <span class="o">!~</span> <span class="n">pattern</span> + +<span class="n">string</span> <span class="o">~*</span> <span class="n">pattern</span> +<span class="n">string</span> <span class="o">!~*</span> <span class="n">pattern</span> +</pre></div> +</div> +<table border="1" class="docutils"> +<colgroup> +<col width="9%" /> +<col width="91%" /> +</colgroup> +<thead valign="bottom"> +<tr class="row-odd"><th class="head">operator</th> +<th class="head">Description</th> +</tr> +</thead> +<tbody valign="top"> +<tr class="row-even"><td>~</td> +<td>It returns true if a given regular expression is matched to string. Otherwise, it returns false.</td> +</tr> +<tr class="row-odd"><td>!~</td> +<td>It returns false if a given regular expression is matched to string. Otherwise, it returns true.</td> +</tr> +<tr class="row-even"><td>~*</td> +<td>It is the same to ‘~’, but it is case insensitive.</td> +</tr> +<tr class="row-odd"><td>!~*</td> +<td>It is the same to ‘!~’, but it is case insensitive.</td> +</tr> +</tbody> +</table> +<p>Here are examples:</p> +<div class="highlight-sql"><div class="highlight"><pre>'abc' ~ '.*c' true +'abc' ~ 'c' false +'aaabc' ~ '([a-z]){3}bc true +'abc' ~* '.*C' true +'abc' !~* 'B.*' true +</pre></div> +</div> +<p>Regular expressions operator is not in the SQL standard. We borrow this operator from PostgreSQL.</p> +<p><em>Synopsis for REGEXP and RLIKE operators</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="n">string</span> <span class="n">REGEXP</span> <span class="n">pattern</span> +<span class="n">string</span> <span class="k">NOT</span> <span class="n">REGEXP</span> <span class="n">pattern</span> + +<span class="n">string</span> <span class="n">RLIKE</span> <span class="n">pattern</span> +<span class="n">string</span> <span class="k">NOT</span> <span class="n">RLIKE</span> <span class="n">pattern</span> +</pre></div> +</div> +<p>But, they do not support case-insensitive operators.</p> +</div> +</div> +</div> + + + </div> + <footer> + + <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> + + <a href="../time_zone.html" class="btn btn-neutral float-right" title="Time Zone"/>Next <span class="fa fa-arrow-circle-right"></span></a> + + + <a href="sql_expression.html" class="btn btn-neutral" title="SQL Expressions"><span class="fa fa-arrow-circle-left"></span> Previous</a> + + </div> + + + <hr/> + + <div role="contentinfo"> + <p> + © Copyright 2014, Apache Tajo Team. + </p> + </div> + + <a href="https://github.com/snide/sphinx_rtd_theme">Sphinx theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a> +</footer> + </div> + </div> + + </section> + + </div> + + + + + + <script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT:'../', + VERSION:'0.11.0', + COLLAPSE_INDEX:false, + FILE_SUFFIX:'.html', + HAS_SOURCE: true + }; + </script> + <script type="text/javascript" src="../_static/jquery.js"></script> + <script type="text/javascript" src="../_static/underscore.js"></script> + <script type="text/javascript" src="../_static/doctools.js"></script> + + + + + + <script type="text/javascript" src="../_static/js/theme.js"></script> + + + + + <script type="text/javascript"> + jQuery(function () { + SphinxRtdTheme.StickyNav.enable(); + }); + </script> + + +</body> +</html> \ No newline at end of file
Added: tajo/site/docs/0.10.1/sql_language/queries.html URL: http://svn.apache.org/viewvc/tajo/site/docs/0.10.1/sql_language/queries.html?rev=1688350&view=auto ============================================================================== --- tajo/site/docs/0.10.1/sql_language/queries.html (added) +++ tajo/site/docs/0.10.1/sql_language/queries.html Tue Jun 30 04:16:52 2015 @@ -0,0 +1,451 @@ + + +<!DOCTYPE html> +<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> +<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <title>Queries — Apache Tajo 0.11.0 documentation</title> + + + + + + + <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'> + + + + + + + + + + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + + + + <link rel="top" title="Apache Tajo 0.11.0 documentation" href="../index.html"/> + <link rel="up" title="SQL Language" href="../sql_language.html"/> + <link rel="next" title="SQL Expressions" href="sql_expression.html"/> + <link rel="prev" title="INSERT (OVERWRITE) INTO" href="insert.html"/> + + + <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script> + +</head> + +<body class="wy-body-for-nav" role="document"> + + <div class="wy-grid-for-nav"> + + + <nav data-toggle="wy-nav-shift" class="wy-nav-side"> + <div class="wy-side-nav-search"> + <a href="../index.html" class="fa fa-home"> Apache Tajo</a> + <div role="search"> + <form id ="rtd-search-form" class="wy-form" action="../search.html" method="get"> + <input type="text" name="q" placeholder="Search docs" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> +</div> + </div> + + <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> + + + <ul class="current"> +<li class="toctree-l1"><a class="reference internal" href="../introduction.html">Introduction</a></li> +<li class="toctree-l1"><a class="reference internal" href="../getting_started.html">Getting Started</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#prerequisites">Prerequisites</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#dowload-and-unpack-the-source-code">Dowload and unpack the source code</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#build-source-code">Build source code</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#setting-up-a-local-tajo-cluster">Setting up a local Tajo cluster</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#first-query-execution">First query execution</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../configuration/preliminary.html">Preliminary</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/cluster_setup.html">Cluster Setup</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/tajo_master_configuration.html">Tajo Master Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/worker_configuration.html">Worker Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/catalog_configuration.html">Catalog Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/ha_configuration.html">High Availability for TajoMaster</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/service_config_defaults.html">Cluster Service Configuration Defaults</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/tajo-site-xml.html">The tajo-site.xml File</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/catalog-site-xml.html">The catalog-site.xml File</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../tsql.html">Tajo Shell (TSQL)</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../tsql/meta_command.html">Meta Commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/dfs_command.html">Executing HDFS commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/variables.html">Session Variables</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/admin_command.html">Administration Commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/intro.html">Introducing to TSQL</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/single_command.html">Executing a single command</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/execute_file.html">Executing Queries from Files</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/background_command.html">Executing as background process</a></li> +</ul> +</li> +<li class="toctree-l1 current"><a class="reference internal" href="../sql_language.html">SQL Language</a><ul class="current"> +<li class="toctree-l2"><a class="reference internal" href="data_model.html">Data Model</a></li> +<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition Language</a></li> +<li class="toctree-l2"><a class="reference internal" href="insert.html">INSERT (OVERWRITE) INTO</a></li> +<li class="toctree-l2 current"><a class="current reference internal" href="">Queries</a></li> +<li class="toctree-l2"><a class="reference internal" href="sql_expression.html">SQL Expressions</a></li> +<li class="toctree-l2"><a class="reference internal" href="predicates.html">Predicates</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../time_zone.html">Time Zone</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#server-cluster-time-zone">Server Cluster Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#table-time-zone">Table Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#client-time-zone">Client Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#time-zone-id">Time Zone ID</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#examples-of-time-zone">Examples of Time Zone</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../functions.html">Functions</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../functions/math_func_and_operators.html">Math Functions and Operators</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions/string_func_and_operators.html">String Functions and Operators</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions/datetime_func_and_operators.html">DateTime Functions and Operators</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions/network_func_and_operators.html">Network Functions and Operators</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions/json_func.html">JSON Functions</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../table_management.html">Table Management</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../table_management/table_overview.html">Overview of Tajo Tables</a></li> +<li class="toctree-l2"><a class="reference internal" href="../table_management/file_formats.html">File Formats</a></li> +<li class="toctree-l2"><a class="reference internal" href="../table_management/compression.html">Compression</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../table_partitioning.html">Table Partitioning</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/intro_to_partitioning.html">Introduction to Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/column_partitioning.html">Column Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/range_partitioning.html">Range Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/hash_partitioning.html">Hash Partitioning</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../index_overview.html">Index (Experimental Feature)</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../index/types.html">Index Types</a></li> +<li class="toctree-l2"><a class="reference internal" href="../index/how_to_use.html">How to use index?</a></li> +<li class="toctree-l2"><a class="reference internal" href="../index/future_work.html">Future Works</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../backup_and_restore.html">Backup and Restore</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../backup_and_restore/catalog.html">Backup and Restore Catalog</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../hcatalog_integration.html">HCatalog Integration</a></li> +<li class="toctree-l1"><a class="reference internal" href="../hbase_integration.html">HBase Integration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#create-table">CREATE TABLE</a></li> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#drop-table">DROP TABLE</a></li> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#insert-overwrite-into">INSERT (OVERWRITE) INTO</a></li> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#usage">Usage</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../swift_integration.html">OpenStack Swift Integration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#swift-configuration">Swift configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#hadoop-configurations">Hadoop configurations</a></li> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#tajo-configuration">Tajo configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#querying-on-swift">Querying on Swift</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../jdbc_driver.html">Tajo JDBC Driver</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#how-to-get-jdbc-driver">How to get JDBC driver</a></li> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#setting-the-classpath">Setting the CLASSPATH</a></li> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#an-example-jdbc-client">An Example JDBC Client</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../tajo_client_api.html">Tajo Client API</a></li> +<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li> +</ul> + + + </div> + + </nav> + + <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> + + + <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> + <i data-toggle="wy-nav-top" class="fa fa-bars"></i> + <a href="../index.html">Apache Tajo</a> + </nav> + + + + <div class="wy-nav-content"> + <div class="rst-content"> + <div role="navigation" aria-label="breadcrumbs navigation"> + <ul class="wy-breadcrumbs"> + <li><a href="../index.html">Docs</a> »</li> + + <li><a href="../sql_language.html">SQL Language</a> »</li> + + <li>Queries</li> + <li class="wy-breadcrumbs-aside"> + + <a href="../_sources/sql_language/queries.txt" rel="nofollow"> View page source</a> + + </li> + </ul> + <hr/> +</div> + <div role="main"> + + <div class="section" id="queries"> +<h1>Queries<a class="headerlink" href="#queries" title="Permalink to this headline">¶</a></h1> +<div class="section" id="overview"> +<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="p">[</span><span class="k">distinct</span> <span class="p">[</span><span class="k">all</span><span class="p">]]</span> <span class="o">*</span> <span class="o">|</span> <span class="o"><</span><span class="n">expression</span><span class="o">></span> <span class="p">[[</span><span class="k">AS</span><span class="p">]</span> <span class="o"><</span><span class="k">alias</span><span class="o">></span><span class="p">]</span> <span class="p">[,</span> <span class="p">...]</span> + <span class="p">[</span><span class="k">FROM</span> <span class="o"><</span><span class="k">table</span> <span class="n">reference</span><span class="o">></span> <span class="p">[[</span><span class="k">AS</span><span class="p">]</span> <span class="o"><</span><span class="k">table</span> <span class="k">alias</span> <span class="n">name</span><span class="o">></span><span class="p">]</span> <span class="p">[,</span> <span class="p">...]]</span> + <span class="p">[</span><span class="k">WHERE</span> <span class="o"><</span><span class="n">condition</span><span class="o">></span><span class="p">]</span> + <span class="p">[</span><span class="k">GROUP</span> <span class="k">BY</span> <span class="o"><</span><span class="n">expression</span><span class="o">></span> <span class="p">[,</span> <span class="p">...]]</span> + <span class="p">[</span><span class="k">HAVING</span> <span class="o"><</span><span class="n">condition</span><span class="o">></span><span class="p">]</span> + <span class="p">[</span><span class="k">ORDER</span> <span class="k">BY</span> <span class="o"><</span><span class="n">expression</span><span class="o">></span> <span class="p">[</span><span class="k">ASC</span><span class="o">|</span><span class="k">DESC</span><span class="p">]</span> <span class="p">[</span><span class="k">NULL</span> <span class="k">FIRST</span><span class="o">|</span><span class="k">NULL</span> <span class="k">LAST</span><span class="p">]</span> <span class="p">[,</span> <span class="p">...]]</span> +</pre></div> +</div> +</div> +<div class="section" id="from-clause"> +<h2>From Clause<a class="headerlink" href="#from-clause" title="Permalink to this headline">¶</a></h2> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="p">[</span><span class="k">FROM</span> <span class="o"><</span><span class="k">table</span> <span class="n">reference</span><span class="o">></span> <span class="p">[[</span><span class="k">AS</span><span class="p">]</span> <span class="o"><</span><span class="k">table</span> <span class="k">alias</span> <span class="n">name</span><span class="o">></span><span class="p">]</span> <span class="p">[,</span> <span class="p">...]]</span> +</pre></div> +</div> +<p>The <code class="docutils literal"><span class="pre">FROM</span></code> clause specifies one or more other tables given in a comma-separated table reference list. +A table reference can be a relation name , or a subquery, a table join, or complex combinations of them.</p> +<div class="section" id="table-and-table-aliases"> +<h3>Table and Table Aliases<a class="headerlink" href="#table-and-table-aliases" title="Permalink to this headline">¶</a></h3> +<p>A temporary name can be given to tables and complex table references to be used +for references to the derived table in the rest of the query. This is called a table alias.</p> +<p>To create a a table alias, please use <code class="docutils literal"><span class="pre">AS</span></code>:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">FROM</span> <span class="n">table_reference</span> <span class="k">AS</span> <span class="k">alias</span> +</pre></div> +</div> +<p>or</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">FROM</span> <span class="n">table_reference</span> <span class="k">alias</span> +</pre></div> +</div> +<p>The <code class="docutils literal"><span class="pre">AS</span></code> keyword can be omitted, and <em>Alias</em> can be any identifier.</p> +<p>A typical application of table aliases is to give short names to long table references. For example:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">long_table_name_1234</span> <span class="n">s</span> <span class="k">JOIN</span> <span class="n">another_long_table_name_5678</span> <span class="n">a</span> <span class="k">ON</span> <span class="n">s</span><span class="p">.</span><span class="n">id</span> <span class="o">=</span> <span class="n">a</span><span class="p">.</span><span class="n">num</span><span class="p">;</span> +</pre></div> +</div> +</div> +<div class="section" id="joined-tables"> +<h3>Joined Tables<a class="headerlink" href="#joined-tables" title="Permalink to this headline">¶</a></h3> +<p>Tajo supports all kinds of join types.</p> +<div class="section" id="join-types"> +<h4>Join Types<a class="headerlink" href="#join-types" title="Permalink to this headline">¶</a></h4> +<div class="section" id="cross-join"> +<h5>Cross Join<a class="headerlink" href="#cross-join" title="Permalink to this headline">¶</a></h5> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">FROM</span> <span class="n">T1</span> <span class="k">CROSS</span> <span class="k">JOIN</span> <span class="n">T2</span> +</pre></div> +</div> +<p>Cross join, also called <em>Cartesian product</em>, results in every possible combination of rows from T1 and T2.</p> +<p><code class="docutils literal"><span class="pre">FROM</span> <span class="pre">T1</span> <span class="pre">CROSS</span> <span class="pre">JOIN</span> <span class="pre">T2</span></code> is equivalent to <code class="docutils literal"><span class="pre">FROM</span> <span class="pre">T1,</span> <span class="pre">T2</span></code>.</p> +</div> +<div class="section" id="qualified-joins"> +<h5>Qualified joins<a class="headerlink" href="#qualified-joins" title="Permalink to this headline">¶</a></h5> +<p>Qualified joins implicitly or explicitly have join conditions. Inner/Outer/Natural Joins all are qualified joins. +Except for natural join, <code class="docutils literal"><span class="pre">ON</span></code> or <code class="docutils literal"><span class="pre">USING</span></code> clause in each join is used to specify a join condition. +A join condition must include at least one boolean expression, and it can also include just filter conditions.</p> +<p><strong>Inner Join</strong></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="n">T1</span> <span class="p">[</span><span class="k">INNER</span><span class="p">]</span> <span class="k">JOIN</span> <span class="n">T2</span> <span class="k">ON</span> <span class="n">boolean_expression</span> +<span class="n">T1</span> <span class="p">[</span><span class="k">INNER</span><span class="p">]</span> <span class="k">JOIN</span> <span class="n">T2</span> <span class="k">USING</span> <span class="p">(</span><span class="k">join</span> <span class="k">column</span> <span class="n">list</span><span class="p">)</span> +</pre></div> +</div> +<p><code class="docutils literal"><span class="pre">INNER</span></code> keyword is the default, and so <code class="docutils literal"><span class="pre">INNER</span></code> can be omitted when you use inner join.</p> +<p><strong>Outer Join</strong></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="n">T1</span> <span class="p">(</span><span class="k">LEFT</span><span class="o">|</span><span class="k">RIGHT</span><span class="o">|</span><span class="k">FULL</span><span class="p">)</span> <span class="k">OUTER</span> <span class="k">JOIN</span> <span class="n">T2</span> <span class="k">ON</span> <span class="n">boolean_expression</span> +<span class="n">T1</span> <span class="p">(</span><span class="k">LEFT</span><span class="o">|</span><span class="k">RIGHT</span><span class="o">|</span><span class="k">FULL</span><span class="p">)</span> <span class="k">OUTER</span> <span class="k">JOIN</span> <span class="n">T2</span> <span class="k">USING</span> <span class="p">(</span><span class="k">join</span> <span class="k">column</span> <span class="n">list</span><span class="p">)</span> +</pre></div> +</div> +<p>One of <code class="docutils literal"><span class="pre">LEFT</span></code>, <code class="docutils literal"><span class="pre">RIGHT</span></code>, or <code class="docutils literal"><span class="pre">FULL</span></code> must be specified for outer joins. +Join conditions in outer join will have different behavior according to corresponding table references of join conditions. +To know outer join behavior in more detail, please refer to +<a class="reference external" href="http://www.ibm.com/developerworks/data/library/techarticle/purcell/0201purcell.html">Advanced outer join constructs</a>.</p> +<p><strong>Natural Join</strong></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="n">T1</span> <span class="k">NATURAL</span> <span class="k">JOIN</span> <span class="n">T2</span> +</pre></div> +</div> +<p><code class="docutils literal"><span class="pre">NATURAL</span></code> is a short form of <code class="docutils literal"><span class="pre">USING</span></code>. It forms a <code class="docutils literal"><span class="pre">USING</span></code> list consisting of all common column names that appear in +both join tables. These common columns appear only once in the output table. If there are no common columns, +<code class="docutils literal"><span class="pre">NATURAL</span></code> behaves like <code class="docutils literal"><span class="pre">CROSS</span> <span class="pre">JOIN</span></code>.</p> +<p><strong>Subqueries</strong></p> +<p>Subqueries allow users to specify a derived table. It requires enclosing a SQL statement in parentheses and an alias name. +For example:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">FROM</span> <span class="p">(</span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">table1</span><span class="p">)</span> <span class="k">AS</span> <span class="n">alias_name</span> +</pre></div> +</div> +</div> +</div> +</div> +</div> +<div class="section" id="where-clause"> +<h2>Where Clause<a class="headerlink" href="#where-clause" title="Permalink to this headline">¶</a></h2> +<p>The syntax of the WHERE Clause is</p> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">WHERE</span> <span class="n">search_condition</span> +</pre></div> +</div> +<p><code class="docutils literal"><span class="pre">search_condition</span></code> can be any boolean expression. +In order to know additional predicates, please refer to <a class="reference internal" href="predicates.html"><em>Predicates</em></a>.</p> +</div> +<div class="section" id="groupby-and-having-clauses"> +<h2>Groupby and Having Clauses<a class="headerlink" href="#groupby-and-having-clauses" title="Permalink to this headline">¶</a></h2> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="n">select_list</span> + <span class="k">FROM</span> <span class="p">...</span> + <span class="p">[</span><span class="k">WHERE</span> <span class="p">...]</span> + <span class="k">GROUP</span> <span class="k">BY</span> <span class="n">grouping_column_reference</span> <span class="p">[,</span> <span class="n">grouping_column_reference</span><span class="p">]...</span> + <span class="p">[</span><span class="k">HAVING</span> <span class="n">boolean_expression</span><span class="p">]</span> +</pre></div> +</div> +<p>The rows which passes <code class="docutils literal"><span class="pre">WHERE</span></code> filter may be subject to grouping, specified by <code class="docutils literal"><span class="pre">GROUP</span> <span class="pre">BY</span></code> clause. +Grouping combines a set of rows having common values into one group, and then computes rows in the group with aggregation functions. <code class="docutils literal"><span class="pre">HAVING</span></code> clause can be used with only <code class="docutils literal"><span class="pre">GROUP</span> <span class="pre">BY</span></code> clause. It eliminates the unqualified result rows of grouping.</p> +<p><code class="docutils literal"><span class="pre">grouping_column_reference</span></code> can be a column reference, a complex expression including scalar functions and arithmetic operations.</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="n">l_orderkey</span><span class="p">,</span> <span class="k">SUM</span><span class="p">(</span><span class="n">l_quantity</span><span class="p">)</span> <span class="k">AS</span> <span class="n">quantity</span> <span class="k">FROM</span> <span class="n">lineitem</span> <span class="k">GROUP</span> <span class="k">BY</span> <span class="n">l_orderkey</span><span class="p">;</span> + +<span class="k">SELECT</span> <span class="n">substr</span><span class="p">(</span><span class="n">l_shipdate</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span> <span class="k">as</span> <span class="k">year</span><span class="p">,</span> <span class="k">SUM</span><span class="p">(</span><span class="n">l_orderkey</span><span class="p">)</span> <span class="k">AS</span> <span class="n">total2</span> <span class="k">FROM</span> <span class="n">lineitem</span> <span class="k">GROUP</span> <span class="k">BY</span> <span class="n">substr</span><span class="p">(</span><span class="n">l_shipdate</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">4</span><span class="p">);</span> +</pre></div> +</div> +<p>If a SQL statement includes <code class="docutils literal"><span class="pre">GROUP</span> <span class="pre">BY</span></code> clause, expressions in select list must be either grouping_column_reference or aggregation function. For example, the following example query is not allowed because <code class="docutils literal"><span class="pre">l_orderkey</span></code> does not occur in <code class="docutils literal"><span class="pre">GROUP</span> <span class="pre">BY</span></code> clause.</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="n">l_orderkey</span><span class="p">,</span> <span class="n">l_partkey</span><span class="p">,</span> <span class="k">SUM</span><span class="p">(</span><span class="n">l_orderkey</span><span class="p">)</span> <span class="k">AS</span> <span class="n">total</span> <span class="k">FROM</span> <span class="n">lineitem</span> <span class="k">GROUP</span> <span class="k">BY</span> <span class="n">l_partkey</span><span class="p">;</span> +</pre></div> +</div> +<p>Aggregation functions can be used with <code class="docutils literal"><span class="pre">DISTINCT</span></code> keywords. It forces an individual aggregate function to take only distinct values of the argument expression. <code class="docutils literal"><span class="pre">DISTINCT</span></code> keyword is used as follows:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="n">l_partkey</span><span class="p">,</span> <span class="k">COUNT</span><span class="p">(</span><span class="k">distinct</span> <span class="n">l_quantity</span><span class="p">),</span> <span class="k">SUM</span><span class="p">(</span><span class="k">distinct</span> <span class="n">l_extendedprice</span><span class="p">)</span> <span class="k">AS</span> <span class="n">total</span> <span class="k">FROM</span> <span class="n">lineitem</span> <span class="k">GROUP</span> <span class="k">BY</span> <span class="n">l_partkey</span><span class="p">;</span> +</pre></div> +</div> +</div> +<div class="section" id="orderby-and-limit-clauses"> +<h2>Orderby and Limit Clauses<a class="headerlink" href="#orderby-and-limit-clauses" title="Permalink to this headline">¶</a></h2> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">FROM</span> <span class="p">...</span> <span class="k">ORDER</span> <span class="k">BY</span> <span class="o"><</span><span class="n">sort_expr</span><span class="o">></span> <span class="p">[(</span><span class="k">ASC</span><span class="o">|</span><span class="k">DESC</span><span class="p">)]</span> <span class="p">[</span><span class="k">NULL</span> <span class="p">(</span><span class="k">FIRST</span><span class="o">|</span><span class="k">LAST</span><span class="p">)</span> <span class="p">[,...]</span> +</pre></div> +</div> +<p><code class="docutils literal"><span class="pre">sort_expr</span></code> can be a column reference, aliased column reference, or a complex expression. +<code class="docutils literal"><span class="pre">ASC</span></code> indicates an ascending order of <code class="docutils literal"><span class="pre">sort_expr</span></code> values. <code class="docutils literal"><span class="pre">DESC</span></code> indicates a descending order of <code class="docutils literal"><span class="pre">sort_expr</span></code> values. +<code class="docutils literal"><span class="pre">ASC</span></code> is the default order.</p> +<p><code class="docutils literal"><span class="pre">NULLS</span> <span class="pre">FIRST</span></code> and <code class="docutils literal"><span class="pre">NULLS</span> <span class="pre">LAST</span></code> options can be used to determine whether nulls values appear +before or after non-null values in the sort ordering. By default, null values are dealt as if larger than any non-null value; +that is, <code class="docutils literal"><span class="pre">NULLS</span> <span class="pre">FIRST</span></code> is the default for <code class="docutils literal"><span class="pre">DESC</span></code> order, and <code class="docutils literal"><span class="pre">NULLS</span> <span class="pre">LAST</span></code> otherwise.</p> +</div> +<div class="section" id="window-functions"> +<h2>Window Functions<a class="headerlink" href="#window-functions" title="Permalink to this headline">¶</a></h2> +<p>A window function performs a calculation across multiple table rows that belong to some window frame.</p> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="p">....,</span> <span class="n">func</span><span class="p">(</span><span class="n">param</span><span class="p">)</span> <span class="n">OVER</span> <span class="p">([</span><span class="n">PARTITION</span> <span class="k">BY</span> <span class="n">partition</span><span class="o">-</span><span class="n">expr</span> <span class="p">[,</span> <span class="p">...]]</span> <span class="p">[</span><span class="k">ORDER</span> <span class="k">BY</span> <span class="n">sort</span><span class="o">-</span><span class="n">expr</span> <span class="p">[,</span> <span class="p">...]]),</span> <span class="p">....,</span> <span class="k">FROM</span> +</pre></div> +</div> +<p>The PARTITION BY list within OVER specifies dividing the rows into groups, or partitions, that share the same values of +the PARTITION BY expression(s). For each row, the window function is computed across the rows that fall into +the same partition as the current row.</p> +<p>We will briefly explain some examples using window functions.</p> +<div class="section" id="examples"> +<h3>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h3> +<p>Multiple window functions can be used in a SQL statement as follows:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="n">l_orderkey</span><span class="p">,</span> <span class="k">sum</span><span class="p">(</span><span class="n">l_discount</span><span class="p">)</span> <span class="n">OVER</span> <span class="p">(</span><span class="n">PARTITION</span> <span class="k">BY</span> <span class="n">l_orderkey</span><span class="p">),</span> <span class="k">sum</span><span class="p">(</span><span class="n">l_quantity</span><span class="p">)</span> <span class="n">OVER</span> <span class="p">(</span><span class="n">PARTITION</span> <span class="k">BY</span> <span class="n">l_orderkey</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">LINEITEM</span><span class="p">;</span> +</pre></div> +</div> +<p>If <code class="docutils literal"><span class="pre">OVER()</span></code> clause is empty as following, it makes all table rows into one window frame.</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="n">salary</span><span class="p">,</span> <span class="k">sum</span><span class="p">(</span><span class="n">salary</span><span class="p">)</span> <span class="n">OVER</span> <span class="p">()</span> <span class="k">FROM</span> <span class="n">empsalary</span><span class="p">;</span> +</pre></div> +</div> +<p>Also, <code class="docutils literal"><span class="pre">ORDER</span> <span class="pre">BY</span></code> clause can be used without <code class="docutils literal"><span class="pre">PARTITION</span> <span class="pre">BY</span></code> clause as follows:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="n">salary</span><span class="p">,</span> <span class="k">sum</span><span class="p">(</span><span class="n">salary</span><span class="p">)</span> <span class="n">OVER</span> <span class="p">(</span><span class="k">ORDER</span> <span class="k">BY</span> <span class="n">salary</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">empsalary</span><span class="p">;</span> +</pre></div> +</div> +<p>Also, all expressions and aggregation functions are allowed in <code class="docutils literal"><span class="pre">ORDER</span> <span class="pre">BY</span></code> clause as follows:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">select</span> + <span class="n">l_orderkey</span><span class="p">,</span> + <span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="k">as</span> <span class="n">cnt</span><span class="p">,</span> + <span class="n">row_number</span><span class="p">()</span> <span class="n">over</span> <span class="p">(</span><span class="n">partition</span> <span class="k">by</span> <span class="n">l_orderkey</span> <span class="k">order</span> <span class="k">by</span> <span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="k">desc</span><span class="p">)</span> + <span class="n">row_num</span> +<span class="k">from</span> + <span class="n">lineitem</span> +<span class="k">group</span> <span class="k">by</span> + <span class="n">l_orderkey</span> +</pre></div> +</div> +<div class="admonition note"> +<p class="first admonition-title">Note</p> +<p class="last">Currently, Tajo does not support multiple different partition-expressions in one SQL statement.</p> +</div> +</div> +</div> +</div> + + + </div> + <footer> + + <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> + + <a href="sql_expression.html" class="btn btn-neutral float-right" title="SQL Expressions"/>Next <span class="fa fa-arrow-circle-right"></span></a> + + + <a href="insert.html" class="btn btn-neutral" title="INSERT (OVERWRITE) INTO"><span class="fa fa-arrow-circle-left"></span> Previous</a> + + </div> + + + <hr/> + + <div role="contentinfo"> + <p> + © Copyright 2014, Apache Tajo Team. + </p> + </div> + + <a href="https://github.com/snide/sphinx_rtd_theme">Sphinx theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a> +</footer> + </div> + </div> + + </section> + + </div> + + + + + + <script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT:'../', + VERSION:'0.11.0', + COLLAPSE_INDEX:false, + FILE_SUFFIX:'.html', + HAS_SOURCE: true + }; + </script> + <script type="text/javascript" src="../_static/jquery.js"></script> + <script type="text/javascript" src="../_static/underscore.js"></script> + <script type="text/javascript" src="../_static/doctools.js"></script> + + + + + + <script type="text/javascript" src="../_static/js/theme.js"></script> + + + + + <script type="text/javascript"> + jQuery(function () { + SphinxRtdTheme.StickyNav.enable(); + }); + </script> + + +</body> +</html> \ No newline at end of file Added: tajo/site/docs/0.10.1/sql_language/sql_expression.html URL: http://svn.apache.org/viewvc/tajo/site/docs/0.10.1/sql_language/sql_expression.html?rev=1688350&view=auto ============================================================================== --- tajo/site/docs/0.10.1/sql_language/sql_expression.html (added) +++ tajo/site/docs/0.10.1/sql_language/sql_expression.html Tue Jun 30 04:16:52 2015 @@ -0,0 +1,290 @@ + + +<!DOCTYPE html> +<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> +<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <title>SQL Expressions — Apache Tajo 0.11.0 documentation</title> + + + + + + + <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'> + + + + + + + + + + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + + + + <link rel="top" title="Apache Tajo 0.11.0 documentation" href="../index.html"/> + <link rel="up" title="SQL Language" href="../sql_language.html"/> + <link rel="next" title="Predicates" href="predicates.html"/> + <link rel="prev" title="Queries" href="queries.html"/> + + + <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script> + +</head> + +<body class="wy-body-for-nav" role="document"> + + <div class="wy-grid-for-nav"> + + + <nav data-toggle="wy-nav-shift" class="wy-nav-side"> + <div class="wy-side-nav-search"> + <a href="../index.html" class="fa fa-home"> Apache Tajo</a> + <div role="search"> + <form id ="rtd-search-form" class="wy-form" action="../search.html" method="get"> + <input type="text" name="q" placeholder="Search docs" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> +</div> + </div> + + <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> + + + <ul class="current"> +<li class="toctree-l1"><a class="reference internal" href="../introduction.html">Introduction</a></li> +<li class="toctree-l1"><a class="reference internal" href="../getting_started.html">Getting Started</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#prerequisites">Prerequisites</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#dowload-and-unpack-the-source-code">Dowload and unpack the source code</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#build-source-code">Build source code</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#setting-up-a-local-tajo-cluster">Setting up a local Tajo cluster</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#first-query-execution">First query execution</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../configuration/preliminary.html">Preliminary</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/cluster_setup.html">Cluster Setup</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/tajo_master_configuration.html">Tajo Master Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/worker_configuration.html">Worker Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/catalog_configuration.html">Catalog Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/ha_configuration.html">High Availability for TajoMaster</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/service_config_defaults.html">Cluster Service Configuration Defaults</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/tajo-site-xml.html">The tajo-site.xml File</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/catalog-site-xml.html">The catalog-site.xml File</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../tsql.html">Tajo Shell (TSQL)</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../tsql/meta_command.html">Meta Commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/dfs_command.html">Executing HDFS commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/variables.html">Session Variables</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/admin_command.html">Administration Commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/intro.html">Introducing to TSQL</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/single_command.html">Executing a single command</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/execute_file.html">Executing Queries from Files</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/background_command.html">Executing as background process</a></li> +</ul> +</li> +<li class="toctree-l1 current"><a class="reference internal" href="../sql_language.html">SQL Language</a><ul class="current"> +<li class="toctree-l2"><a class="reference internal" href="data_model.html">Data Model</a></li> +<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition Language</a></li> +<li class="toctree-l2"><a class="reference internal" href="insert.html">INSERT (OVERWRITE) INTO</a></li> +<li class="toctree-l2"><a class="reference internal" href="queries.html">Queries</a></li> +<li class="toctree-l2 current"><a class="current reference internal" href="">SQL Expressions</a></li> +<li class="toctree-l2"><a class="reference internal" href="predicates.html">Predicates</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../time_zone.html">Time Zone</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#server-cluster-time-zone">Server Cluster Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#table-time-zone">Table Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#client-time-zone">Client Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#time-zone-id">Time Zone ID</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#examples-of-time-zone">Examples of Time Zone</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../functions.html">Functions</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../functions/math_func_and_operators.html">Math Functions and Operators</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions/string_func_and_operators.html">String Functions and Operators</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions/datetime_func_and_operators.html">DateTime Functions and Operators</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions/network_func_and_operators.html">Network Functions and Operators</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions/json_func.html">JSON Functions</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../table_management.html">Table Management</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../table_management/table_overview.html">Overview of Tajo Tables</a></li> +<li class="toctree-l2"><a class="reference internal" href="../table_management/file_formats.html">File Formats</a></li> +<li class="toctree-l2"><a class="reference internal" href="../table_management/compression.html">Compression</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../table_partitioning.html">Table Partitioning</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/intro_to_partitioning.html">Introduction to Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/column_partitioning.html">Column Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/range_partitioning.html">Range Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/hash_partitioning.html">Hash Partitioning</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../index_overview.html">Index (Experimental Feature)</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../index/types.html">Index Types</a></li> +<li class="toctree-l2"><a class="reference internal" href="../index/how_to_use.html">How to use index?</a></li> +<li class="toctree-l2"><a class="reference internal" href="../index/future_work.html">Future Works</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../backup_and_restore.html">Backup and Restore</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../backup_and_restore/catalog.html">Backup and Restore Catalog</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../hcatalog_integration.html">HCatalog Integration</a></li> +<li class="toctree-l1"><a class="reference internal" href="../hbase_integration.html">HBase Integration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#create-table">CREATE TABLE</a></li> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#drop-table">DROP TABLE</a></li> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#insert-overwrite-into">INSERT (OVERWRITE) INTO</a></li> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#usage">Usage</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../swift_integration.html">OpenStack Swift Integration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#swift-configuration">Swift configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#hadoop-configurations">Hadoop configurations</a></li> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#tajo-configuration">Tajo configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#querying-on-swift">Querying on Swift</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../jdbc_driver.html">Tajo JDBC Driver</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#how-to-get-jdbc-driver">How to get JDBC driver</a></li> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#setting-the-classpath">Setting the CLASSPATH</a></li> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#an-example-jdbc-client">An Example JDBC Client</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../tajo_client_api.html">Tajo Client API</a></li> +<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li> +</ul> + + + </div> + + </nav> + + <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> + + + <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> + <i data-toggle="wy-nav-top" class="fa fa-bars"></i> + <a href="../index.html">Apache Tajo</a> + </nav> + + + + <div class="wy-nav-content"> + <div class="rst-content"> + <div role="navigation" aria-label="breadcrumbs navigation"> + <ul class="wy-breadcrumbs"> + <li><a href="../index.html">Docs</a> »</li> + + <li><a href="../sql_language.html">SQL Language</a> »</li> + + <li>SQL Expressions</li> + <li class="wy-breadcrumbs-aside"> + + <a href="../_sources/sql_language/sql_expression.txt" rel="nofollow"> View page source</a> + + </li> + </ul> + <hr/> +</div> + <div role="main"> + + <div class="section" id="sql-expressions"> +<h1>SQL Expressions<a class="headerlink" href="#sql-expressions" title="Permalink to this headline">¶</a></h1> +<div class="section" id="arithmetic-expressions"> +<h2>Arithmetic Expressions<a class="headerlink" href="#arithmetic-expressions" title="Permalink to this headline">¶</a></h2> +</div> +<div class="section" id="type-casts"> +<h2>Type Casts<a class="headerlink" href="#type-casts" title="Permalink to this headline">¶</a></h2> +<p>A type cast converts a specified-typed data to another-typed data. Tajo has two type cast syntax:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">CAST</span> <span class="p">(</span> <span class="n">expression</span> <span class="k">AS</span> <span class="k">type</span> <span class="p">)</span> +<span class="n">expression</span><span class="p">::</span><span class="k">type</span> +</pre></div> +</div> +</div> +<div class="section" id="string-expressions"> +<h2>String Expressions<a class="headerlink" href="#string-expressions" title="Permalink to this headline">¶</a></h2> +</div> +<div class="section" id="function-call"> +<h2>Function Call<a class="headerlink" href="#function-call" title="Permalink to this headline">¶</a></h2> +<div class="highlight-sql"><div class="highlight"><pre><span class="n">function_name</span> <span class="p">([</span><span class="n">expression</span> <span class="p">[,</span> <span class="n">expression</span> <span class="p">...</span> <span class="p">]]</span> <span class="p">)</span> +</pre></div> +</div> +</div> +</div> + + + </div> + <footer> + + <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> + + <a href="predicates.html" class="btn btn-neutral float-right" title="Predicates"/>Next <span class="fa fa-arrow-circle-right"></span></a> + + + <a href="queries.html" class="btn btn-neutral" title="Queries"><span class="fa fa-arrow-circle-left"></span> Previous</a> + + </div> + + + <hr/> + + <div role="contentinfo"> + <p> + © Copyright 2014, Apache Tajo Team. + </p> + </div> + + <a href="https://github.com/snide/sphinx_rtd_theme">Sphinx theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a> +</footer> + </div> + </div> + + </section> + + </div> + + + + + + <script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT:'../', + VERSION:'0.11.0', + COLLAPSE_INDEX:false, + FILE_SUFFIX:'.html', + HAS_SOURCE: true + }; + </script> + <script type="text/javascript" src="../_static/jquery.js"></script> + <script type="text/javascript" src="../_static/underscore.js"></script> + <script type="text/javascript" src="../_static/doctools.js"></script> + + + + + + <script type="text/javascript" src="../_static/js/theme.js"></script> + + + + + <script type="text/javascript"> + jQuery(function () { + SphinxRtdTheme.StickyNav.enable(); + }); + </script> + + +</body> +</html> \ No newline at end of file
