TDV Adapter for Presto

Build 22.0.8462

SELECT Statements

A SELECT statement can consist of the following basic clauses.

  • SELECT
  • INTO
  • FROM
  • JOIN
  • WHERE
  • GROUP BY
  • HAVING
  • UNION
  • ORDER BY
  • LIMIT

SELECT Syntax

The following syntax diagram outlines the syntax supported by the Presto adapter:

SELECT {
  [ TOP <numeric_literal> | DISTINCT ]
  { 
    * 
    | { 
        <expression> [ [ AS ] <column_reference> ] 
        | { <table_name> | <correlation_name> } .* 
      } [ , ... ] 
  }
  [ INTO csv:// [ filename= ] <file_path> [ ;delimiter=tab ] ]
  { 
    FROM <table_reference> [ [ AS ] <identifier> ] 
  } [ , ... ]
  [ [ 
      INNER | { { LEFT | RIGHT | FULL  } [ OUTER ] }  
    ] JOIN <table_reference> [ ON <search_condition> ] [ [ AS ] <identifier> ] 
  ] [ ... ] 
  [ WHERE <search_condition> ]
  [ GROUP BY <column_reference> [ , ... ]
  [ HAVING <search_condition> ]
  [ UNION  [ ALL ] <select_statement> ]
  [ 
    ORDER BY 
    <column_reference> [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ]
  ]
  [
    LIMIT <expression>
  ] 
} | SCOPE_IDENTITY() 

  <expression> ::=
    | <column_reference>
    | @ <parameter> 
    | ?
    | COUNT( * | { [ DISTINCT ] <expression> } )
    | { AVG | MAX | MIN | SUM | COUNT } ( <expression> ) 
    | NULLIF ( <expression> , <expression> ) 
    | COALESCE ( <expression> , ... ) 
    | CASE <expression>
        WHEN { <expression> | <search_condition> } THEN { <expression> | NULL } [ ... ]
    [ ELSE { <expression> | NULL } ]
      END 
    | <literal>
    | <sql_function> 

  <search_condition> ::= 
    {
      <expression> { = | > | < | >= | <= | <> | != | LIKE | NOT LIKE | IS NULL | IS NOT NULL | IN | NOT IN | AND | OR | BETWEEN | CONTAINS | NOT CONTAINS } [ <expression> ]
    } [ { AND | OR } ... ]

Examples

  1. Return all columns:
    SELECT * FROM [Hive].[Default].Customers
  2. Rename a column:
    SELECT "Name" AS MY_Name FROM [Hive].[Default].Customers
  3. Cast a column's data as a different data type:
    SELECT CAST(AnnualRevenue AS VARCHAR) AS Str_AnnualRevenue FROM [Hive].[Default].Customers
  4. Search data:
    SELECT * FROM [Hive].[Default].Customers WHERE Industry = 'Floppy Disks'
  5. The Presto APIs support the following operators in the WHERE clause: =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IS NULL, IS NOT NULL, IN, NOT IN, AND, OR, BETWEEN, CONTAINS, NOT CONTAINS.
    SELECT * FROM [Hive].[Default].Customers WHERE Industry = 'Floppy Disks';
  6. Return the number of items matching the query criteria:
    SELECT COUNT(*) AS MyCount FROM [Hive].[Default].Customers 
  7. Return the number of unique items matching the query criteria:
    SELECT COUNT(DISTINCT Name) FROM [Hive].[Default].Customers 
  8. Return the unique items matching the query criteria:
    SELECT DISTINCT Name FROM [Hive].[Default].Customers 
  9. Summarize data:
    SELECT Name, MAX(AnnualRevenue) FROM [Hive].[Default].Customers  GROUP BY Name
    See Aggregate Functions for details.
  10. Retrieve data from multiple tables.
    SELECT Customer.FirstName, Customer.LastName, Purchases.ItemName FROM Purchases INNER JOIN Customer ON Purchases.CustomerId = Customer.Id
    See JOIN Queries for details.
  11. Sort a result set in ascending order:
    SELECT Id, Name FROM [Hive].[Default].Customers  ORDER BY Name ASC

Copyright (c) 2023 CData Software, Inc. - All rights reserved.
Build 22.0.8462