Поддержка SQL

Содержание раздела
  1. Примеры неподдерживаемых запросов
    1. AVG
    2. CROSS JOIN
    3. FULL JOIN
    4. JOIN для трех таблиц
    5. JOIN с подзапросом
    6. RIGHT JOIN

В SELECT-запросах к данным можно использовать функции, описанные в таблице ниже.

СУБД хранилища имеют ограничения на использование некоторых функций в запросах, вызванные особенностями этих СУБД. Наиболее полный синтаксис запросов доступен в ADB и ADP.

Функция Доступна в ADB Доступна в ADQM Доступна в ADG Доступна в ADP
ABS + + + +
ACOS + + − +
ASIN + + − +
ATAN + + − +
ATAN2 + − − +
AVG − − − −
BIT_AND + − − +
BIT_OR + − − +
CASE + + + +
CAST + + + +
CBRT + − − +
CEIL +
для аргумента типа FLOAT
+ − +
для аргумента типа FLOAT
CEILING +
для аргумента типа FLOAT
+ − +
для аргумента типа FLOAT
CHAR − − − −
COALESCE + + + +
COS + + − +
COUNT + + + +
CROSS JOIN + − + +
DEGREES + − − +
EXCEPT − − − −
EXP + + − +
FLOOR +
для аргумента типа FLOAT
+ − +
для аргумента типа FLOAT
FULL JOIN + +
при соединении по ключам шардирования
− +
GREATEST − − − −
HEX − − − −
IFNULL − − − −
INTERSECT − − − −
JOIN для трех таблиц + − + +
JOIN с подзапросом + − + +
LEAST − − − −
LENGTH − − − −
LIKE + + + +
LN + + − +
LOG − − − −
LOWER + + + +
MAX + + + +
MIN + + + +
MOD + − − +
NULLIF + + + +
OCTET_LENGTH − − − −
PI − − − −
POSITION + − − +
POWER + + − +
PRINTF − − − −
QUOTE − − − −
RADIANS + − − +
RANDOM − − − −
REPLACE + + + +
RIGHT JOIN + + − +
ROUND +
для аргумента типа FLOAT
+ + +
для аргумента типа FLOAT
SIGN +
для аргумента типа FLOAT
− − +
для аргумента типа FLOAT
SIN + + − +
SQRT + + − +
SUBSTRING + + − +
SUM + + + +
TAN + + − +
TRIM + + + +
TRUNC − − − −
TYPEOF − − − −
UNION − − − −
UPPER + + + +

Примеры неподдерживаемых запросов

AVG

SELECT AVG(product_units) FROM sales.sales

CROSS JOIN

SELECT *
FROM sales.sales AS s
CROSS JOIN sales.stores AS st
ORDER BY s.store_id, st.category
LIMIT 5
DATASOURCE_TYPE = 'ADQM'

FULL JOIN

SELECT *
FROM sales.sales AS s
FULL JOIN sales.stores AS st
ON s.store_id = st.id
ORDER BY s.store_id
LIMIT 5
DATASOURCE_TYPE = 'ADG'

JOIN для трех таблиц

SELECT *
FROM demo.territories AS t
LEFT JOIN demo.employee_territories AS et
ON t.territory_id = et.territory_id
LEFT JOIN demo.employees AS e
ON t.territory_id = e.territory_id
WHERE e.last_name is NOT NULL
ORDER BY t.territory_id
DATASOURCE_TYPE = 'ADQM'

JOIN с подзапросом

SELECT *
FROM sales.sales AS s
INNER JOIN
(SELECT * FROM sales.stores) AS st
ON s.store_id = st.id
ORDER BY s.store_id
DATASOURCE_TYPE = 'ADQM'

RIGHT JOIN

SELECT *
FROM sales.sales AS s
RIGHT JOIN sales.stores AS st
ON s.store_id = st.id
ORDER BY st.id
LIMIT 5
DATASOURCE_TYPE = 'ADG'