SQL es el lenguaje estándar para administrar bases de datos relacionales y las sentencias de consulta son su componente principal. A continuación se describen las cláusulas de consulta SQL compatibles y sus límites.
Sentencias de consulta SQL
La sentencia SELECT recupera datos de una tabla. Toda la sintaxis de consulta avanzada se basa en SELECT. Para obtener más información, consulte SELECT.
Actualmente, OpenSearch no admite la recuperación de resúmenes. Para obtener más información, consulte FROM-Summary query.
La cláusula WHERE filtra los datos de una tabla según condiciones específicas. Para obtener más información, consulte WHERE.
La cláusula GROUP BY agrega datos de uno o varios campos para calcular valores como el máximo, el mínimo y el promedio. Para obtener más información, consulte GROUP BY.
La cláusula ORDER BY ordena los datos con base en uno o varios campos. El orden predeterminado es ascendente (ASC). Dado que la ordenación puede afectar negativamente el rendimiento, utilice una cláusula LIMIT junto con ORDER BY. Para obtener más información, consulte ORDER BY.
La sentencia UNION combina datos de varios endpoints de ingesta que comparten el mismo esquema. Los campos, los tipos de datos y el orden de los campos deben ser idénticos en cada sentencia. Para obtener más información, consulte UNION.
La cláusula JOIN combina datos de varias tablas para ampliar las dimensiones de la consulta. Para obtener más información, consulte JOIN operation types.
Los parámetros dinámicos funcionan de manera similar a la interfaz PreparedStatement en una base de datos. Utilice marcadores de posición con signo de interrogación (?) en la sentencia SQL y pase los valores correspondientes; el motor los sustituye automáticamente. Los parámetros dinámicos mejoran la tasa de aciertos de caché y pueden incrementar significativamente el rendimiento en patrones de consulta fijos. Para obtener más información, consulte Dynamic parameters.
Una función de valor de tabla (TVF) en TuringSQL recibe uno o varios parámetros escalares y una consulta SQL como entrada, trata la consulta como una tabla y devuelve una tabla como resultado. Para obtener más información, consulte Table Value Function.
Una expresión de tabla común (CTE) define un conjunto de resultados temporal con nombre, disponible dentro de una sola consulta. Puede hacer referencia a la CTE en partes posteriores de la consulta para simplificar su estructura. Actualmente, solo se admiten sentencias SELECT. Para obtener más información, consulte Introduction to Common Table Expressions.
Límites
Actualmente no se admiten sentencias de lenguaje de definición de datos (DDL) ni de lenguaje de manipulación de datos (DML).
La cláusula ORDER BY debe utilizarse junto con una cláusula LIMIT.
No se admite SELECT * cuando se utiliza la cláusula UNNEST para consultar una tabla secundaria.
Las operaciones JOIN actualmente se ejecutan solo en el Searcher. Asegúrese de que la distribución de datos sea adecuada.
En una operación UNION, la cantidad de campos, los nombres de los campos y los tipos de datos deben ser idénticos en todas las sentencias SELECT.
Los índices de análisis numérico no admiten consultas que utilicen el operador de igualdad (=). En su lugar, emplee una consulta de rango, por ejemplo: WHERE QUERY('consign_time', '[1, 10]').