Как прочитать данные

Содержание раздела
  1. Примеры
    1. Запрос из логической таблицы
    2. Запрос из логического представления
    3. Запрос из материализованного представления
    4. Запрос из прокси-таблицы
    5. Запрос из standalone-таблицы
    6. Запрос из соединения standalone-таблицы и логической таблицы

Система позволяет запрашивать данные и получать выборку в ответе. Данные можно запрашивать из следующих сущностей и их соединений:

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

Чтобы запросить данные:

  1. Если требуется получить данные, используя JDBC, отправьте запрос SELECT:
  2. Если требуется получить данные, используя HTTP API, отправьте запрос с помощью POST-метода query:
    • чтобы получить всю выборку одним ответом, в теле запроса укажите параметр fetchSize со значением 0 или не указывайте его;
    • чтобы получить выборку потоком из порций данных заданного размера, в теле запроса укажите параметр fetchSize со значением больше 0.

На рисунке ниже показан пример запроса из логической таблицы sales с помощью SQL-клиента.

Запрос с помощью SQL-клиента

Примеры

Запрос из логической таблицы

-- выбор логической базы данных marketing в качестве базы данных по умолчанию
USE marketing;

-- запрос данных из логической таблицы sales
SELECT s.store_id, SUM(s.product_units) AS product_amount
FROM sales AS s
GROUP BY (s.store_id)
ORDER BY product_amount DESC
LIMIT 20;

Запрос из логического представления

-- запрос данных из логического представления stores_by_sold_products
SELECT sold.store_id, sold.product_amount
FROM marketing.stores_by_sold_products AS sold;

Запрос из материализованного представления

-- запрос данных из материализованного представления sales_by_stores
SELECT * FROM marketing.sales_by_stores
WHERE store_id IN (1234, 1235, 1236);

Запрос из прокси-таблицы

SELECT p.type_code, SUM(p.amount) AS amount, p.currency_code 
FROM marketing.payments_proxy AS p 
GROUP BY p.type_code, p.currency_code

Запрос из standalone-таблицы

-- запрос данных из standalone-таблицы, на которую указывает внешняя readable-таблица payments_ext_read_adqm
SELECT p.agreement_id, p.code, SUM(p.amount) AS amount, p.currency_code 
FROM marketing.payments_ext_read_adqm AS p 
GROUP BY p.agreement_id, p.code, p.currency_code

Запрос из соединения standalone-таблицы и логической таблицы

-- запрос данных из логической таблицы clients и standalone-таблицы, на которую указывает 
--   внешняя readable-таблица agreements_ext_read_adp
SELECT a.id, a.client_id, c.last_name, c.first_name, c.patronymic_name 
FROM marketing.agreements_ext_read_adp AS a
LEFT JOIN marketing.clients FOR SYSTEM_TIME AS OF DELTA_NUM 9 AS c
  ON a.client_id = c.id