forked from docs/doc-exports
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Co-authored-by: Su, Xiaomeng <suxiaomeng1@huawei.com> Co-committed-by: Su, Xiaomeng <suxiaomeng1@huawei.com>
122 lines
14 KiB
HTML
122 lines
14 KiB
HTML
<a name="dli_08_0075"></a><a name="dli_08_0075"></a>
|
|
|
|
<h1 class="topictitle1">SQL Syntax Constraints and Definitions</h1>
|
|
<div id="body1574406512486"><div class="section" id="dli_08_0075__section03770114288"><h4 class="sectiontitle">Syntax Constraints</h4><ul id="dli_08_0075__ud19942075cc147b39c88b3a98555d027"><li id="dli_08_0075__en-us_topic_0060575881_li6550253455">Currently, Flink SQL only supports the following operations: SELECT, FROM, WHERE, UNION, aggregation, window, JOIN between stream and table data, and JOIN between streams.</li><li id="dli_08_0075__li190142041510">Data cannot be inserted into the source stream.</li><li id="dli_08_0075__li10985103214152">The sink stream cannot be used to perform query operations.</li></ul>
|
|
</div>
|
|
<div class="section" id="dli_08_0075__s6149752682c14e3b98da3284d471ce25"><h4 class="sectiontitle">Data Types Supported by Syntax</h4><ul id="dli_08_0075__u634e33ed3e6d4576a27887f5f99ce2f5"><li id="dli_08_0075__lc17f8d2043024fc99dd630c79278cc71">Basic data types: VARCHAR, STRING, BOOLEAN, TINYINT, SMALLINT, INTEGER/INT, BIGINT, REAL/FLOAT, DOUBLE, DECIMAL, DATE, TIME, and TIMESTAMP</li><li id="dli_08_0075__le19a79fdc31e4efa889ec97dd6aa334d">Array: Square brackets ([]) are used to quote fields. The following is an example:<div class="codecoloring" codetype="Sql" id="dli_08_0075__s7eb746f17cc14814bf03d7437e86b245"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">insert</span><span class="w"> </span><span class="k">into</span><span class="w"> </span><span class="n">temp</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="k">CARDINALITY</span><span class="p">(</span><span class="nb">ARRAY</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="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">OrderA</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li></ul>
|
|
</div>
|
|
<div class="section" id="dli_08_0075__section1150683522913"><h4 class="sectiontitle">Syntax Definition</h4><div class="codecoloring" codetype="Sql" id="dli_08_0075__s365c547fbd744b8dbc6bfecada05beff"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span>
|
|
<span class="normal">11</span>
|
|
<span class="normal">12</span>
|
|
<span class="normal">13</span>
|
|
<span class="normal">14</span>
|
|
<span class="normal">15</span>
|
|
<span class="normal">16</span>
|
|
<span class="normal">17</span>
|
|
<span class="normal">18</span>
|
|
<span class="normal">19</span>
|
|
<span class="normal">20</span>
|
|
<span class="normal">21</span>
|
|
<span class="normal">22</span>
|
|
<span class="normal">23</span>
|
|
<span class="normal">24</span>
|
|
<span class="normal">25</span>
|
|
<span class="normal">26</span>
|
|
<span class="normal">27</span>
|
|
<span class="normal">28</span>
|
|
<span class="normal">29</span>
|
|
<span class="normal">30</span>
|
|
<span class="normal">31</span>
|
|
<span class="normal">32</span>
|
|
<span class="normal">33</span>
|
|
<span class="normal">34</span>
|
|
<span class="normal">35</span>
|
|
<span class="normal">36</span>
|
|
<span class="normal">37</span>
|
|
<span class="normal">38</span>
|
|
<span class="normal">39</span>
|
|
<span class="normal">40</span>
|
|
<span class="normal">41</span>
|
|
<span class="normal">42</span>
|
|
<span class="normal">43</span>
|
|
<span class="normal">44</span>
|
|
<span class="normal">45</span>
|
|
<span class="normal">46</span>
|
|
<span class="normal">47</span>
|
|
<span class="normal">48</span>
|
|
<span class="normal">49</span>
|
|
<span class="normal">50</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">stream_name</span><span class="w"> </span><span class="n">query</span><span class="p">;</span>
|
|
<span class="n">query</span><span class="p">:</span>
|
|
<span class="w"> </span><span class="k">values</span>
|
|
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">{</span>
|
|
<span class="w"> </span><span class="k">select</span>
|
|
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">selectWithoutFrom</span>
|
|
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">query</span><span class="w"> </span><span class="k">UNION</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">query</span>
|
|
<span class="w"> </span><span class="err">}</span>
|
|
|
|
<span class="n">orderItem</span><span class="p">:</span>
|
|
<span class="w"> </span><span class="n">expression</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">DESC</span><span class="w"> </span><span class="p">]</span>
|
|
|
|
<span class="k">select</span><span class="p">:</span>
|
|
<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">projectItem</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">projectItem</span><span class="w"> </span><span class="p">]</span><span class="o">*</span><span class="w"> </span><span class="err">}</span>
|
|
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">tableExpression</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">tableExpression</span><span class="w"> </span><span class="p">]</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">booleanExpression</span><span class="w"> </span><span class="p">]</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="n">groupItem</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">groupItem</span><span class="w"> </span><span class="p">]</span><span class="o">*</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">]</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">HAVING</span><span class="w"> </span><span class="n">booleanExpression</span><span class="w"> </span><span class="p">]</span>
|
|
|
|
<span class="n">selectWithoutFrom</span><span class="p">:</span>
|
|
<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">DISTINCT</span><span class="w"> </span><span class="p">]</span>
|
|
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">projectItem</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">projectItem</span><span class="w"> </span><span class="p">]</span><span class="o">*</span><span class="w"> </span><span class="err">}</span>
|
|
|
|
<span class="n">projectItem</span><span class="p">:</span>
|
|
<span class="w"> </span><span class="n">expression</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">columnAlias</span><span class="w"> </span><span class="p">]</span>
|
|
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">tableAlias</span><span class="w"> </span><span class="p">.</span><span class="w"> </span><span class="o">*</span>
|
|
|
|
<span class="n">tableExpression</span><span class="p">:</span>
|
|
<span class="w"> </span><span class="n">tableReference</span><span class="w"> </span>
|
|
|
|
<span class="n">tableReference</span><span class="p">:</span>
|
|
<span class="w"> </span><span class="n">tablePrimary</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="k">alias</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="s1">'('</span><span class="w"> </span><span class="n">columnAlias</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">columnAlias</span><span class="w"> </span><span class="p">]</span><span class="o">*</span><span class="w"> </span><span class="s1">')'</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">]</span>
|
|
|
|
<span class="n">tablePrimary</span><span class="p">:</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="n">catalogName</span><span class="w"> </span><span class="p">.</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">schemaName</span><span class="w"> </span><span class="p">.</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">tableName</span>
|
|
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">LATERAL</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="s1">'('</span><span class="w"> </span><span class="n">functionName</span><span class="w"> </span><span class="s1">'('</span><span class="w"> </span><span class="n">expression</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">expression</span><span class="w"> </span><span class="p">]</span><span class="o">*</span><span class="w"> </span><span class="s1">')'</span><span class="w"> </span><span class="s1">')'</span>
|
|
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">UNNEST</span><span class="w"> </span><span class="s1">'('</span><span class="w"> </span><span class="n">expression</span><span class="w"> </span><span class="s1">')'</span>
|
|
|
|
<span class="k">values</span><span class="p">:</span>
|
|
<span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="n">expression</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">expression</span><span class="w"> </span><span class="p">]</span><span class="o">*</span>
|
|
|
|
<span class="n">groupItem</span><span class="p">:</span>
|
|
<span class="w"> </span><span class="n">expression</span>
|
|
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="s1">'('</span><span class="w"> </span><span class="s1">')'</span>
|
|
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="s1">'('</span><span class="w"> </span><span class="n">expression</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">expression</span><span class="w"> </span><span class="p">]</span><span class="o">*</span><span class="w"> </span><span class="s1">')'</span>
|
|
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">CUBE</span><span class="w"> </span><span class="s1">'('</span><span class="w"> </span><span class="n">expression</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">expression</span><span class="w"> </span><span class="p">]</span><span class="o">*</span><span class="w"> </span><span class="s1">')'</span>
|
|
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ROLLUP</span><span class="w"> </span><span class="s1">'('</span><span class="w"> </span><span class="n">expression</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">expression</span><span class="w"> </span><span class="p">]</span><span class="o">*</span><span class="w"> </span><span class="s1">')'</span>
|
|
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">GROUPING</span><span class="w"> </span><span class="k">SETS</span><span class="w"> </span><span class="s1">'('</span><span class="w"> </span><span class="n">groupItem</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">groupItem</span><span class="w"> </span><span class="p">]</span><span class="o">*</span><span class="w"> </span><span class="s1">')'</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dli_08_0233.html">Flink SQL Syntax</a></div>
|
|
</div>
|
|
</div>
|
|
|