Buscar
tee / insights
LEARNING / SQLHOME
DATA → QUERY → RESULT

Mapa de sintaxis SQL

Busque SQL por tarea: consultas, agregación, COPY INTO, actualizaciones, definición de objetos y permisos. Compare sintaxis, requisitos y efectos en Snowflake y BigQuery.

Dialecto SQL

Cobertura y referencias oficiales

Incluye 23 grupos de consultas y 22 temas de operaciones. Son ejemplos representativos, no todas las opciones ni todos los comandos del producto.

Operaciones verificadas: 2026-10-06

Cobertura y referencias oficiales
ÁreaSintaxis y funcionesCoberturaReferencias oficiales
Consultas y análisisSELECT / JOIN / GROUP BY / WINDOWEjemplos representativosSnowflake · BigQuery
Carga y exportaciónCOPY INTO / LOAD DATA / EXPORT DATAEjemplos representativosSnowflake · BigQuery
Manipulación de datosINSERT / UPDATE / DELETE / MERGE / TRUNCATEEjemplos representativosSnowflake · BigQuery
Definición de objetosTABLE / VIEW / SCHEMA / FUNCTION / PROCEDUREEjemplos representativosSnowflake · BigQuery
Transacciones, permisos y scriptsTRANSACTION / GRANT / REVOKE / DECLARE / INFORMATION_SCHEMAEjemplos representativosSnowflake · BigQuery
Automatización y canalizacionesPIPE / STREAM / TASK / DYNAMIC TABLE / scheduled queriesSolo referencia oficialSnowflake · BigQuery
Tablas externas y especialesEXTERNAL TABLE / ICEBERG / SNAPSHOT / CLONE / MATERIALIZED VIEWSolo referencia oficialSnowflake · BigQuery
Cuentas y cómputoACCOUNT / USER / ROLE / WAREHOUSE / IAM / reservationsSolo referencia oficialSnowflake · BigQuery
Seguridad y uso compartidoPOLICY / MASKING / ROW ACCESS / sharing / connectionsSolo referencia oficialSnowflake · BigQuery
Aprendizaje automático y extensionesML / Cortex / search indexes / vector indexes / applicationsSolo referencia oficialSnowflake · BigQuery

Vista general

Cubre consultas y operaciones habituales. La tabla distingue ejemplos y áreas con solo referencias.

Preparar entrada

Elegir el origen

FROM indica la tabla o resultado que se procesa.

Nombrar / anidar

WITH y una subconsulta en FROM pueden expresar el mismo resultado intermedio.

Unir horizontalmente: ¿qué filas quedan?

Coincidencias / toda la izquierda / ambos lados / todas las combinaciones.

Condición de unión / filtro posterior

En LEFT JOIN, mover la condición cambia las filas conservadas.

Valores anidados a filas

Expandir los elementos de un valor compuesto en filas.

Filtrar filas

¿Cuándo filtrar?

WHERE antes de agregar; HAVING después; QUALIFY después de las ventanas.

Agregar filas

N filas → 1 valor

Elegir qué contar o qué resumen calcular.

Ordenar dentro de la agregación / calcular percentiles

WITHIN GROUP ordena los valores agregados; BigQuery pone ORDER BY dentro de la función.

Elegir los valores de la agregación

Controla duplicados, NULL, filas con el máximo y límites de entrada dentro de la función.

Unidad de agregación / deduplicación

GROUP BY define grupos; DISTINCT elimina duplicados de las filas seleccionadas.

Analizar sin reducir filas

Reducir / añadir a cada fila

Agregado: N filas→una por grupo. Ventana: N filas→N filas.

Clasificación: ¿qué pasa con los empates?

Secuencia única / empates con saltos / empates sin saltos.

Omitir NULL / ordenar las filas NULL

IGNORE / RESPECT NULLS afecta a los valores de la función; NULLS FIRST / LAST cambia el orden de las filas.

Avanzado: posición / rango de valores

ROWS usa posiciones; RANGE usa valores de ordenación.

Crear valores

Comparar / combinar condiciones

Las comparaciones devuelven TRUE, FALSE o NULL; la lógica las combina.

Detectar / suplir valores ausentes

La igualdad con NULL es desconocida. Use IS NULL.

Ramas generales / abreviatura binaria

CASE permite varias condiciones; IF / IFF abrevia dos resultados.

Conversión normal / segura

Valor no convertible: CAST falla; la versión segura devuelve NULL.

Quitar signo / redondear

ABS devuelve magnitud; ROUND redondea a la precisión indicada.

Cambiar / extraer / concatenar

Cuatro operaciones sobre la misma cadena.

Actual / sumar / diferencia / truncar

La operación coincide; cambian orden de argumentos y sintaxis de unidades.

Valor anidado / cadena SQL

Ambos pueden mostrar 7, pero tienen tipos distintos.

Combinar conjuntos

Unir verticalmente: ¿qué pasa con duplicados?

Los mismos A y B: conservar / eliminar duplicados / comunes / solo izquierda.

Avanzado: alinear por nombre

Alinear nombres aunque las posiciones sean distintas.

Preparar resultado

Preparar el resultado

Deduplicar → ordenar → saltar filas iniciales → tomar hasta el límite.

Importar y exportar archivos

Cargar archivos en una tablaCOPY INTO <table>Carga las filas del archivo. Compruebe el resultado y las filas de destino.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Prepare orders vacía y un CSV con cabecera id,amount. Súbalo al stage interno csv_stage de Snowflake o a Cloud Storage con ubicación compatible para BigQuery. Sustituya YOUR_BUCKET.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
COPY INTO tbi_lab.orders
FROM @tbi_lab.csv_stage/orders.csv
FILE_FORMAT = (TYPE = CSV SKIP_HEADER = 1)
ON_ERROR = 'ABORT_STATEMENT';

Cambio esperado

Carga las filas del archivo. Compruebe el resultado y las filas de destino.

Cómo verificar

Cómo verificar
SELECT id, amount FROM tbi_lab.orders ORDER BY id;

ON_ERROR controla los fallos; ABORT_STATEMENT detiene la sentencia. El historial puede omitir archivos ya cargados. FORCE=TRUE puede duplicar datos.

Fuentes oficiales · Snowflake 1

# load-files
Exportar una tabla a archivosCOPY INTO <location>Escribe la consulta en archivos CSV. Revise el destino.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Prepare orders con dos filas y un destino con escritura: csv_stage en Snowflake o Cloud Storage sustituyendo YOUR_BUCKET en BigQuery.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
COPY INTO @tbi_lab.csv_stage/export_run/
FROM (SELECT id, amount FROM tbi_lab.orders)
FILE_FORMAT = (TYPE = CSV)
HEADER = TRUE;

Cambio esperado

Escribe la consulta en archivos CSV. Revise el destino.

Cómo verificar

Cómo verificar
LIST @tbi_lab.csv_stage/export_run/;

Use un destino nuevo cada vez. Puede haber varios archivos. Compruebe su cantidad y contenido.

Fuentes oficiales · Snowflake 1

# unload-files
Preparar un stage y un formatoCREATE STAGE · CREATE FILE FORMAT · PUT · LISTCrea un stage interno vacío y un formato CSV en Snowflake.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Prepare tbi_lab y los permisos de creación y lectura necesarios.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
CREATE FILE FORMAT tbi_lab.csv_format
  TYPE = CSV SKIP_HEADER = 1;
CREATE STAGE tbi_lab.csv_stage
  FILE_FORMAT = (FORMAT_NAME = 'tbi_lab.csv_format');

Cambio esperado

Crea un stage interno vacío y un formato CSV en Snowflake.

Cómo verificar

Cómo verificar
LIST @tbi_lab.csv_stage;

Crear el stage no sube archivos. Cargue orders.csv con Snowsight o un cliente compatible con PUT. PUT se dirige a stages internos.

Fuentes oficiales · Snowflake 1 · Snowflake 2 · Snowflake 3

# stage-format
Validar archivos antes de cargarVALIDATION_MODE · RETURN_ERRORS · ON_ERROR · COPY INTOEn Snowflake, devuelve errores sin insertar filas.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Prepare orders vacía y un CSV con cabecera id,amount. Súbalo al stage interno csv_stage de Snowflake o a Cloud Storage con ubicación compatible para BigQuery. Sustituya YOUR_BUCKET.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
COPY INTO tbi_lab.orders
FROM @tbi_lab.csv_stage/orders.csv
FILE_FORMAT = (TYPE = CSV SKIP_HEADER = 1)
VALIDATION_MODE = 'RETURN_ERRORS';

Cambio esperado

En Snowflake, devuelve errores sin insertar filas.

Cómo verificar

Cómo verificar
SELECT id, amount FROM tbi_lab.orders ORDER BY id;

VALIDATION_MODE verifica sin cargar. No admite un SELECT de transformación. Corrija los errores antes de usar COPY normal.

Fuentes oficiales · Snowflake 1

# validate-load

Modificar filas almacenadas

Insertar filasINSERT INTO · INSERT SELECTAñade id=3, amount=300.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Empiece con tbi_lab.orders(id, amount) y las filas (1,100), (2,200). Restablezca este estado antes de cada ejemplo; no son pasos consecutivos.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
INSERT INTO tbi_lab.orders (id, amount)
VALUES (3, 300);

Cambio esperado

Añade id=3, amount=300.

Cómo verificar

Cómo verificar
SELECT id, amount FROM tbi_lab.orders ORDER BY id;

Fuentes oficiales · Snowflake 1

# insert-rows
Actualizar filas coincidentesUPDATE · SET · WHERECambia amount a 150 para id=1.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Empiece con tbi_lab.orders(id, amount) y las filas (1,100), (2,200). Restablezca este estado antes de cada ejemplo; no son pasos consecutivos.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
UPDATE tbi_lab.orders SET amount = 150 WHERE id = 1;

Cambio esperado

Cambia amount a 150 para id=1.

Cómo verificar

Cómo verificar
SELECT id, amount FROM tbi_lab.orders ORDER BY id;

Revise las filas con SELECT y el mismo WHERE. BigQuery exige WHERE para UPDATE y DELETE.

Fuentes oficiales · Snowflake 1

# update-rows
Eliminar filas coincidentesDELETE FROM · WHEREElimina la fila id=2.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Empiece con tbi_lab.orders(id, amount) y las filas (1,100), (2,200). Restablezca este estado antes de cada ejemplo; no son pasos consecutivos.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
DELETE FROM tbi_lab.orders WHERE id = 2;

Cambio esperado

Elimina la fila id=2.

Cómo verificar

Cómo verificar
SELECT id, amount FROM tbi_lab.orders ORDER BY id;

Revise las filas con SELECT y el mismo WHERE. BigQuery exige WHERE para UPDATE y DELETE.

Fuentes oficiales · Snowflake 1

# delete-rows
Actualizar coincidencias e insertar filas nuevasMERGE INTO · WHEN MATCHED · WHEN NOT MATCHEDActualiza id=1 a 150 e inserta id=3 con 300.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Empiece con tbi_lab.orders(id, amount) y las filas (1,100), (2,200). Restablezca este estado antes de cada ejemplo; no son pasos consecutivos.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
MERGE INTO tbi_lab.orders AS t
USING (SELECT 1 AS id, 150 AS amount
       UNION ALL SELECT 3, 300) AS s
ON t.id = s.id
WHEN MATCHED THEN UPDATE SET amount = s.amount
WHEN NOT MATCHED THEN INSERT (id, amount)
  VALUES (s.id, s.amount);

Cambio esperado

Actualiza id=1 a 150 e inserta id=3 con 300.

Cómo verificar

Cómo verificar
SELECT id, amount FROM tbi_lab.orders ORDER BY id;

Evite varias filas fuente para una clave de destino que se actualiza. El comportamiento depende del producto y la acción.

Fuentes oficiales · Snowflake 1

# merge-rows
Vaciar la tabla y conservar su estructuraTRUNCATE TABLEDeja cero filas y conserva las columnas.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Empiece con tbi_lab.orders(id, amount) y las filas (1,100), (2,200). Restablezca este estado antes de cada ejemplo; no son pasos consecutivos.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
TRUNCATE TABLE tbi_lab.orders;

Cambio esperado

Deja cero filas y conserva las columnas.

Cómo verificar

Cómo verificar
SELECT COUNT(*) AS rows_left FROM tbi_lab.orders;

Afecta a todas las filas; no acepta un filtro WHERE.

Fuentes oficiales · Snowflake 1

# truncate-table

Definir tablas, vistas y rutinas

Crear una tabla con tipos de columnaCREATE TABLE · TEMPORARY TABLECrea una tabla vacía con id y amount.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Prepare tbi_lab y compruebe que el nombre del nuevo objeto esté libre.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
CREATE TABLE tbi_lab.orders (id INTEGER, amount NUMBER(12,2));

Cambio esperado

Crea una tabla vacía con id y amount.

Cómo verificar

Cómo verificar
DESCRIBE TABLE tbi_lab.orders;

Los ejemplos no usan OR REPLACE para sobrescribir datos existentes.

Fuentes oficiales · Snowflake 1

# create-table
Guardar una consulta como tablaCREATE TABLE AS SELECT · CTASGuarda las filas con amount >= 200 en una tabla nueva.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Empiece con tbi_lab.orders(id, amount) y las filas (1,100), (2,200). Restablezca este estado antes de cada ejemplo; no son pasos consecutivos.

Prepare tbi_lab y compruebe que el nombre del nuevo objeto esté libre.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
CREATE TABLE tbi_lab.large_orders AS
SELECT id, amount FROM tbi_lab.orders WHERE amount >= 200;

Cambio esperado

Guarda las filas con amount >= 200 en una tabla nueva.

Cómo verificar

Cómo verificar
SELECT * FROM tbi_lab.large_orders ORDER BY id;

Los ejemplos no usan OR REPLACE para sobrescribir datos existentes.

Fuentes oficiales · Snowflake 1

# create-as-select
Guardar una consulta como vistaCREATE VIEW · ALTER VIEW · DROP VIEWGuarda la definición de consulta. Una vista normal no conserva una copia de las filas.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Empiece con tbi_lab.orders(id, amount) y las filas (1,100), (2,200). Restablezca este estado antes de cada ejemplo; no son pasos consecutivos.

Prepare tbi_lab y compruebe que el nombre del nuevo objeto esté libre.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
CREATE VIEW tbi_lab.large_orders_view AS
SELECT id, amount FROM tbi_lab.orders WHERE amount >= 200;

Cambio esperado

Guarda la definición de consulta. Una vista normal no conserva una copia de las filas.

Cómo verificar

Cómo verificar
SELECT * FROM tbi_lab.large_orders_view ORDER BY id;

ALTER VIEW y DROP VIEW cambian o eliminan la definición. Revise las dependencias de las tablas fuente.

Fuentes oficiales · Snowflake 1

# create-view
Añadir una columnaALTER TABLE · ADD COLUMN · DROP COLUMN · RENAMEAñade note; las filas existentes tienen NULL en esa columna.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Empiece con tbi_lab.orders(id, amount) y las filas (1,100), (2,200). Restablezca este estado antes de cada ejemplo; no son pasos consecutivos.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
ALTER TABLE tbi_lab.orders ADD COLUMN note VARCHAR;

Cambio esperado

Añade note; las filas existentes tienen NULL en esa columna.

Cómo verificar

Cómo verificar
DESCRIBE TABLE tbi_lab.orders;

El ejemplo añade una columna. Eliminarla o cambiar su tipo requiere otra revisión de datos y dependencias.

Fuentes oficiales · Snowflake 1

# alter-table
Eliminar una tablaDROP TABLE · IF EXISTSElimina la definición y los datos de la tabla.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Empiece con tbi_lab.orders(id, amount) y las filas (1,100), (2,200). Restablezca este estado antes de cada ejemplo; no son pasos consecutivos.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
DROP TABLE tbi_lab.orders;

Cambio esperado

Elimina la definición y los datos de la tabla.

Cómo verificar

Cómo verificar
SHOW TABLES LIKE 'ORDERS' IN SCHEMA tbi_lab;

La recuperación depende de la retención del producto. No presuponga que será posible.

Fuentes oficiales · Snowflake 1

# drop-table
Crear un esquema o conjunto de datosCREATE SCHEMA · USE DATABASE · USE SCHEMACrea tbi_lab para alojar objetos.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
CREATE SCHEMA tbi_lab;
USE SCHEMA tbi_lab;

Cambio esperado

Crea tbi_lab para alojar objetos.

Cómo verificar

Cómo verificar
SELECT CURRENT_DATABASE(), CURRENT_SCHEMA();

Crea un esquema en la base de datos actual. USE SCHEMA cambia el espacio de nombres predeterminado.

Fuentes oficiales · Snowflake 1 · Snowflake 2

# namespace
Crear una función SQLCREATE FUNCTION · UDFCrea una función que suma uno al argumento.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Prepare tbi_lab y compruebe que el nombre del nuevo objeto esté libre.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
CREATE FUNCTION tbi_lab.add_one(x INTEGER)
RETURNS INTEGER LANGUAGE SQL
AS $$ x + 1 $$;

Cambio esperado

Crea una función que suma uno al argumento.

Cómo verificar

Cómo verificar
SELECT tbi_lab.add_one(2) AS result;

Fuentes oficiales · Snowflake 1

# user-function
Guardar un procedimientoCREATE PROCEDURE · CALLCrea un procedimiento que devuelve 3 al llamarlo.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Prepare tbi_lab y compruebe que el nombre del nuevo objeto esté libre.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
CREATE PROCEDURE tbi_lab.answer()
RETURNS INTEGER LANGUAGE SQL
AS $$
BEGIN
  RETURN 3;
END;
$$;

Cambio esperado

Crea un procedimiento que devuelve 3 al llamarlo.

Cómo verificar

Cómo verificar
CALL tbi_lab.answer();

Fuentes oficiales · Snowflake 1

# procedure

Gestionar ejecución, permisos y metadatos

Confirmar o revertir cambiosBEGIN TRANSACTION · COMMIT · ROLLBACKEl ejemplo revierte el cambio: id=1 mantiene amount=100.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Empiece con tbi_lab.orders(id, amount) y las filas (1,100), (2,200). Restablezca este estado antes de cada ejemplo; no son pasos consecutivos.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
BEGIN TRANSACTION;
UPDATE tbi_lab.orders SET amount = 150 WHERE id = 1;
ROLLBACK;

Cambio esperado

El ejemplo revierte el cambio: id=1 mantiene amount=100.

Cómo verificar

Cómo verificar
SELECT id, amount FROM tbi_lab.orders ORDER BY id;

COMMIT confirma; ROLLBACK revierte. El DDL de Snowflake confirma implícitamente la transacción activa; no lo añada al ejemplo.

Fuentes oficiales · Snowflake 1

# transaction
Conceder acceso de lecturaGRANT · TO ROLEConcede al destinatario permiso de lectura sobre la tabla.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Requiere orders y autoridad para cambiar permisos. Prepare el rol tbi_reader de Snowflake o verifique el grupo destinatario de BigQuery.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
GRANT SELECT ON TABLE tbi_lab.orders TO ROLE tbi_reader;

Cambio esperado

Concede al destinatario permiso de lectura sobre la tabla.

Cómo verificar

Cómo verificar
SHOW GRANTS ON TABLE tbi_lab.orders;

SELECT sobre la tabla puede no bastar. Revise USAGE de base de datos y esquema, y acceso al warehouse.

Fuentes oficiales · Snowflake 1

# permissions-grant
Revocar una concesión directaREVOKE · FROM ROLERetira la concesión directa; otros accesos pueden permanecer.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Requiere orders y autoridad para cambiar permisos. Prepare el rol tbi_reader de Snowflake o verifique el grupo destinatario de BigQuery.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
REVOKE SELECT ON TABLE tbi_lab.orders FROM ROLE tbi_reader;

Cambio esperado

Retira la concesión directa; otros accesos pueden permanecer.

Cómo verificar

Cómo verificar
SHOW GRANTS ON TABLE tbi_lab.orders;

REVOKE no retira accesos heredados de otros roles o recursos superiores. Revise el acceso efectivo.

Fuentes oficiales · Snowflake 1

# permissions-revoke
Consultar tablas y columnasSHOW TABLES · DESCRIBE TABLE · INFORMATION_SCHEMADevuelve metadatos de tablas y columnas accesibles.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Prepare tbi_lab y los permisos de creación y lectura necesarios.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
SHOW TABLES IN SCHEMA tbi_lab;

Cambio esperado

Devuelve metadatos de tablas y columnas accesibles.

Cómo verificar

Cómo verificar
DESCRIBE TABLE tbi_lab.orders;

Fuentes oficiales · Snowflake 1 · Snowflake 2

# inspect-objects
Usar variables y varias sentenciasDECLARE · BEGIN · END · EXECUTE IMMEDIATECambia una variable de 2 a 3 y devuelve 3.

Snowflake · SQL para el producto seleccionado. Esta página no lo ejecuta. Contrastado con la documentación oficial; sin ejecución en una cuenta de nube.

Antes de ejecutar

Se supone una base de datos seleccionada en Snowflake y un proyecto seleccionado en BigQuery. tbi_lab es un esquema o conjunto de datos de práctica.

Use un entorno de práctica autorizado. Revise nombres, destinos y destinatarios. La ejecución y el almacenamiento pueden generar cargos.

Ejemplo independiente
EXECUTE IMMEDIATE $$
DECLARE n INTEGER DEFAULT 2;
BEGIN
  RETURN n + 1;
END;
$$;

Cambio esperado

Cambia una variable de 2 a 3 y devuelve 3.

Cómo verificar

Compare el cambio esperado con los resultados, permisos o archivos del entorno.

BEGIN…END es un bloque de procedimiento, distinto de BEGIN TRANSACTION.

Fuentes oficiales · Snowflake 1 · Snowflake 2

# script

Prueba por qué JOIN aumenta las filas

Si un cliente tiene tres pedidos, aparece tres veces en el resultado combinado. Cambia el número de pedidos y el SQL para ver las coincidencias.

Ver datos de entrada

Ejecuta una sentencia de solo lectura que empiece por SELECT o WITH. Tablas: customers y orders. Se muestran hasta 200 filas.

Elige un ejemplo o edita el SQL y ejecútalo.

Lee este SQL en palabras

Primero, FROM lee la tabla de clientes customers y AS c le asigna el alias c dentro de esta consulta.

Después, INNER JOIN combina la tabla de pedidos orders. AS o le asigna el alias o. ON c.id = o.customer_id conserva solo los pares donde el identificador del cliente c.id es igual al identificador de cliente del pedido o.customer_id. Varios pedidos de un cliente generan varias filas.

SELECT devuelve el identificador del cliente c.id, su nombre c.name y el identificador del pedido o.id. AS order_id nombra la columna de salida de o.id como order_id.

Por último, ORDER BY c.id, o.id ordena por identificador de cliente ascendente y, dentro de cada cliente, por identificador de pedido ascendente.

El punto . de c.id conecta el alias de tabla y el nombre de columna; la coma , separa columnas o expresiones; el punto y coma ; termina la sentencia SQL.

Comprueba lo aprendido
¿Qué expresión da cero pedidos para Cara después de LEFT JOIN?

Este editor ejecuta SQLite, independientemente del selector Snowflake / BigQuery. Usa datos ficticios y ejecuta SQL en tu navegador. No guarda ni envía lo que escribes. El motor se carga desde una CDN externa al ejecutar por primera vez.

Comparar tipos de JOIN · Referencia oficial de SQLite sobre SELECT y JOIN