Поделиться через


Query

Извлекает результирующие наборы из одной или нескольких таблиц.

Область применения:флажок Databricks SQL флажок Databricks Runtime

Синтаксис

[ common_table_expression ]
  subquery
  [ set_operator ]
  [ ORDER BY clause | { [ DISTRIBUTE BY clause ] [ SORT BY clause ] } | CLUSTER BY clause ]
  [ WINDOW clause ]
  [ LIMIT clause  ]
  [ OFFSET clause ]
  [ { |> piped_operation } [ ...] ]

subquery
{ subselect |
  VALUES clause |
  ( query ) |
  TABLE [ table_name | view_name ] |
  FROM table_reference [, ...] }

Параметры

  • общее табличное выражение

    Распространенные табличные выражения (CTE) — это один или несколько именованных запросов, которые можно повторно использовать несколько раз в основном блоке запросов, чтобы избежать повторяющихся вычислений или улучшить удобочитаемость сложных вложенных запросов.

  • subquery

    Одна из нескольких конструкций, создающая промежуточный результирующий набор.

    • подзапрос

      Вложенный запрос, состоящий из шаблона SELECT FROM WHERE.

      • VALUES

        Указана встроенная временная таблица.

      • ( query )

        Вложенный вызов запроса, который может содержать операторы набора или общие табличные выражения.

      • TABLE

        Возвращает всю таблицу или представление.

        • table_name

          Определяет возвращаемую таблицу.

        • view_name

          Определяет представление, которое нужно получить.

        Если Azure Databricks не удается найти таблицу или представление, возникает ошибка TABLE_OR_VIEW_NOT_FOUND.

      • ИЗ

        Область применения: отмечен Databricks Runtime 16.2 и позже

        Возвращает перекрестное соединение всех ссылок на таблицы. Это выражение обычно используется в качестве основы конвейера SQL.

        • table_reference

          Источник входных данных для SELECT. Эту ссылку на входные данные можно превратить в потоковую ссылку с помощью ключевого слова STREAM до ссылки.

    Источник входных данных для SELECT. Эту ссылку на входные данные можно превратить в потоковую ссылку с помощью ключевого слова STREAM до ссылки.

  • set_operator

    Конструкция, объединяющая вложенные запросы с помощью операторов UNION, EXCEPT или INTERSECT.

  • ORDER BY

    Порядок строк полного результирующего набора запроса. Выходные строки упорядочиваются без разделения на секции. Этот параметр является взаимоисключающим с SORT BY, CLUSTER BY и DISTRIBUTE BY, то есть их нельзя указывать вместе.

  • DISTRIBUTE BY

    Набор выражений, которыми перестраиваются строки результатов. Этот параметр является взаимоисключающим с ORDER BY и CLUSTER BY, вместе с которым его нельзя указывать.

  • SORT BY

    Порядок, по которому строки упорядочиваются в каждом разделе. Этот параметр является взаимоисключающим с ORDER BY и CLUSTER BY, вместе с которым его нельзя указывать.

  • CLUSTER BY

    Набор выражений, используемых для перераспределения и сортировки строк. Использование этого предложения имеет такой же эффект, как совместное использование DISTRIBUTE BY и SORT BY.

  • LIMIT

    Максимальное число строк, которое может возвращать инструкция или вложенный запрос. Это предложение чаще всего используется в сочетании с ORDER BY для получения детерминированного результата.

  • OFFSET

    Область применения:флажок Databricks SQL флажок Databricks Runtime 11.3 LTS и выше

    Пропуск нескольких строк, возвращаемых инструкцией или вложенным запросом. Это предложение в основном используется в сочетании с LIMIT для страницы через результирующий набор и ORDER BY для создания детерминированного результата.

    Примечание.

    При разбиении по страницам с помощью LIMIT и OFFSET пропущенные строки по-прежнему обрабатываются. Эти строки просто исключаются из результирующего набора. Разбиение на страницы с помощью этого метода не рекомендуется для ресурсоемких запросов.

  • WINDOW

    Определяет именованные спецификации окон, которые могут использоваться несколькими функциями окна в select_query.

  • |> piped_operation

    Область применения: отмечено флажком Databricks Runtime 16.2 и выше

    Указывает последовательную операцию, которая должна быть выполнена над результирующим набором подзапроса и другими предшествующими предложениями.