Поддержка SQL
Содержание раздела
В SELECT-запросах к данным можно использовать функции, описанные в таблице ниже.
СУБД хранилища имеют ограничения на использование некоторых функций в запросах, вызванные особенностями этих СУБД. Наиболее полный синтаксис запросов доступен в ADB.
Функция | Доступна в ADB | Доступна в ADQM | Доступна в ADG |
---|---|---|---|
ABS | + | + | + |
ACOS | + | + | − |
ASIN | + | + | − |
ATAN | + | + | − |
ATAN2 | + | − | − |
AVG | − | − | − |
BIT_AND | + | − | − |
BIT_OR | + | − | − |
CASE | + | + | + |
CAST | + | + | + |
CBRT | + | − | − |
CEIL | + аргумент FLOAT | + | − |
CEILING | + аргумент FLOAT | + | − |
CHAR | − | − | − |
COALESCE | + | + | + |
COS | + | + | − |
COUNT | + | + | + |
CROSS JOIN | + | − | + |
DEGREES | + | − | − |
EXCEPT | − | − | − |
EXP | + | + | − |
FLOOR | + аргумент FLOAT | + | − |
FULL JOIN | + | − | − |
GREATEST | − | − | − |
HEX | − | − | − |
IFNULL | − | − | − |
INTERSECT | − | − | − |
JOIN для трех таблиц | + | − | + |
JOIN с подзапросом | + | − | + |
LEAST | − | − | − |
LENGTH | − | − | − |
LIKELY | − | − | − |
LN | + | + | − |
LOG | − | − | − |
LOWER | + | + | + |
MAX | + | + | + |
MIN | + | + | + |
MOD | + | − | − |
NULLIF | + | + | + |
OCTET_LENGTH | − | − | − |
PI | − | − | − |
POSITION | + | − | − |
POWER | + | + | − |
PRINTF | − | − | − |
QUOTE | − | − | − |
RADIANS | + | − | − |
RANDOM | − | − | − |
REPLACE | + | + | + |
RIGHT JOIN | + | + | − |
ROUND | + аргумент FLOAT | + | − |
SIGN | + аргумент 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.identification_number
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.identification_number
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.identification_number
ORDER BY st.identification_number
LIMIT 5
DATASOURCE_TYPE = 'ADG'