TDV Adapter for Snowflake

Build 21.0.8137

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 Snowflake 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> ] 
  } [ , ... ]
  [ 
    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>
    [ 
      { OFFSET | , }
      <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> { = | > | < | >= | <= | <> | != | AND | OR | LIKE | NOT LIKE | IN | NOT IN | IS NULL | IS NOT NULL | ANY | ALL | EXISTS | NOT EXISTS | + | - | * | / | % | || | -(negate) } [ <expression> ]
    } [ { AND | OR } ... ]

Examples

  1. Return all columns:
    SELECT * FROM [DemoDB].[PUBLIC].Products
  2. Rename a column:
    SELECT "ProductName" AS MY_ProductName FROM [DemoDB].[PUBLIC].Products
  3. Cast a column's data as a different data type:
    SELECT CAST(Price AS VARCHAR) AS Str_Price FROM [DemoDB].[PUBLIC].Products
  4. Search data:
    SELECT * FROM [DemoDB].[PUBLIC].Products WHERE ProductName = 'Konbu';
  5. The Snowflake APIs support the following operators in the WHERE clause: =, >, <, >=, <=, <>, !=, AND, OR, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, ANY, ALL, EXISTS, NOT EXISTS, +, -, *, /, %, ||, -(negate).
    SELECT * FROM [DemoDB].[PUBLIC].Products WHERE ProductName = 'Konbu';
  6. Return the number of items matching the query criteria:
    SELECT COUNT(*) AS MyCount FROM [DemoDB].[PUBLIC].Products 
  7. Return the number of unique items matching the query criteria:
    SELECT COUNT(DISTINCT ProductName) FROM [DemoDB].[PUBLIC].Products 
  8. Return the unique items matching the query criteria:
    SELECT DISTINCT ProductName FROM [DemoDB].[PUBLIC].Products 
  9. Summarize data:
    SELECT ProductName, MAX(Price) FROM [DemoDB].[PUBLIC].Products  GROUP BY ProductName
    See Aggregate Functions for details.
  10. Retrieve data from multiple tables.
    SELECT Customers.ContactName, Orders.OrderDate FROM Customers JOIN Orders ON Customers.CustomerID=Orders.CustomerID
    See JOIN Queries for details.
  11. Sort a result set in ascending order:
    SELECT Id, ProductName FROM [DemoDB].[PUBLIC].Products  ORDER BY ProductName ASC

Copyright (c) 2022 CData Software, Inc. - All rights reserved.
Build 21.0.8137