Поддержка SQL
Содержание раздела
В 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'