* split up select.md * array-join.md basic refactoring * distinct.md basic refactoring * format.md basic refactoring * from.md basic refactoring * group-by.md basic refactoring * having.md basic refactoring * additional index.md refactoring * into-outfile.md basic refactoring * join.md basic refactoring * limit.md basic refactoring * limit-by.md basic refactoring * order-by.md basic refactoring * prewhere.md basic refactoring * adjust operators/index.md links * adjust sample.md links * adjust more links * adjust operatots links * fix some links * adjust aggregate function article titles * basic refactor of remaining select clauses * absolute paths in make_links.sh * run make_links.sh * remove old select.md locations * translate docs/es * translate docs/fr * translate docs/fa * remove old operators.md location * change operators.md links * adjust links in docs/es * adjust links in docs/es * minor texts adjustments * wip * update machine translations to use new links * fix changelog * es build fixes * get rid of some select.md links * temporary adjust ru links * temporary adjust more ru links * improve curly brace handling * adjust ru as well * fa build fix * ru link fixes * zh link fixes * temporary disable part of anchor checks
3.1 KiB
machine_translated | machine_translated_rev |
---|---|
true | 72537a2d52 |
Cláusula FROM
El FROM
cláusula especifica la fuente de la que se leen los datos:
- Tabla
- Subconsultas {## TODO: mejor enlace ##}
- Función de la tabla
JOIN y ARRAY JOIN también pueden utilizarse para ampliar la funcionalidad del FROM
clausula.
La subconsulta es otra SELECT
consulta que se puede especificar entre paréntesis dentro FROM
clausula.
FROM
cláusula puede contener múltiples fuentes de datos, separadas por comas, que es equivalente a realizar CROSS JOIN en ellos.
Modificador FINAL
Cuando FINAL
se especifica, ClickHouse fusiona completamente los datos antes de devolver el resultado y, por lo tanto, realiza todas las transformaciones de datos que ocurren durante las fusiones para el motor de tabla dado.
Es aplicable cuando se seleccionan datos de tablas que utilizan Método de codificación de datos:- familia del motor (excepto GraphiteMergeTree
). También soportado para:
- Replicado versiones de
MergeTree
motor. - Vista, Búfer, Distribuido, y Método de codificación de datos: motores que funcionan sobre otros motores, siempre que se hayan creado sobre
MergeTree
-mesas de motor.
Inconveniente
Consultas que usan FINAL
se ejecutan no tan rápido como consultas similares que no lo hacen, porque:
- La consulta se ejecuta en un solo subproceso y los datos se combinan durante la ejecución de la consulta.
- Consultas con
FINAL
leer columnas de clave primaria además de las columnas especificadas en la consulta.
En la mayoría de los casos, evite usar FINAL
. El enfoque común es utilizar diferentes consultas que asumen los procesos en segundo plano de la MergeTree
el motor aún no ha sucedido y tratar con él mediante la aplicación de agregación (por ejemplo, para descartar duplicados). {## TODO: ejemplos ##}
Detalles de implementación
Si el FROM
se omite la cláusula, los datos se leerán desde el system.one
tabla.
El system.one
table contiene exactamente una fila (esta tabla cumple el mismo propósito que la tabla DUAL que se encuentra en otros DBMS).
Para ejecutar una consulta, todas las columnas enumeradas en la consulta se extraen de la tabla adecuada. Las columnas no necesarias para la consulta externa se eliminan de las subconsultas.
Si una consulta no muestra ninguna columnas (por ejemplo, SELECT count() FROM t
), alguna columna se extrae de la tabla de todos modos (se prefiere la más pequeña), para calcular el número de filas.