Este contenido aún no está optimizado para dispositivos móviles.
Para obtener la mejor experiencia, visítanos en una computadora de escritorio con un vínculo que te enviaremos por correo electrónico.
Descripción general
BigQuery admite muchos tipos de sentencias de SQL, como el lenguaje de definición de datos (DDL), el lenguaje de manipulación de datos (DML), las funciones definidas por el usuario (UDF) y los procedimientos almacenados.
El objetivo de este lab es proporcionar a los profesionales de Snowflake los conocimientos y habilidades necesarios para comenzar a trabajar con SQL en BigQuery. Cuando finalicen este lab, comprenderán mejor cómo usar SQL en BigQuery para crear y actualizar estructuras de datos en BigQuery, así como trabajar con ellas.
En este lab, crearás tablas y vistas con sentencias DDL, actualizarás tablas con sentencias DML, unirás datos con SQL y delimitarás funciones definidas por el usuario (UDF) personalizadas y procedimientos almacenados.
En este lab, aprenderás a realizar las siguientes tareas:
Crear tablas y vistas nuevas con sentencias DDL
Actualizar los datos de tablas existentes con sentencias DML
Unir datos y definir expresiones de tabla comunes (CTE) con sentencias SQL SELECT
Definir UDF personalizadas y procedimientos almacenados
Configuración y requisitos
En cada lab, recibirás un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.
Accede a Google Skills en una ventana de incógnito.
Ten en cuenta el tiempo de acceso del lab (por ejemplo, 1:15:00) y asegúrate de finalizarlo en el plazo asignado.
No existe una función de pausa. Si lo necesitas, puedes reiniciar el lab, pero deberás hacerlo desde el comienzo.
Cuando tengas todo listo, haz clic en Comenzar lab.
Anota las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.
Haz clic en Abrir la consola de Google.
Haz clic en Usar otra cuenta, copia las credenciales para este lab y pégalas en el mensaje emergente que aparece.
Si usas otras credenciales, se generarán errores o incurrirás en cargos.
Acepta las condiciones y omite la página de recursos de recuperación.
Cómo iniciar tu lab y acceder a la consola
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá una ventana emergente para que selecciones tu forma de pago.
A la izquierda, verás un panel con las credenciales temporales que debes usar para este lab.
Copia el nombre de usuario y, luego, haz clic en Abrir la consola de Google.
El lab inicia los recursos y abre otra pestaña que muestra la página Elige una cuenta.
Sugerencia: Abre las pestañas en ventanas separadas, una junto a la otra.
En la página Elige una cuenta, haz clic en Usar otra cuenta. Se abrirá la página de acceso.
Pega el nombre de usuario que copiaste del panel Detalles de la conexión. Luego, copia y pega la contraseña.
Nota: Debes usar las credenciales del panel Detalles de la conexión. No uses tus credenciales de Google Skills. Si tienes una cuenta propia de Google Cloud, no la utilices para este lab para no incurrir en cargos.
Haz clic para avanzar por las páginas siguientes:
Acepta los Términos y Condiciones.
No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Cloud en esta pestaña.
Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haz clic en el menú de navegación que se encuentra en la parte superior izquierda de la pantalla.
Tarea 1: Crea un conjunto de datos y tablas de BigQuery usando sentencias DDL
En BigQuery, puedes usar el lenguaje de definición de datos (DDL) para crear conjuntos de datos y tablas. También puedes usar la sentencia de SQL LOAD DATA para cargar datos de uno o más archivos en una tabla nueva o existente.
Para obtener más información sobre el uso de sentencias DDL para crear conjuntos de datos y tablas de BigQuery, y sobre el uso de la sentencia de SQL LOAD DATA para cargar datos, revisa la documentación Sentencia CREATE SCHEMA, Sentencia CREATE TABLE y Sentencia LOAD DATA.
En esta tarea, usarás DDL para crear un conjunto de datos y tablas en BigQuery y, luego, cargarás datos en las tablas nuevas con la sentencia LOAD DATA.
En el menú de navegación () de la consola de Google Cloud, en Analytics, haz clic en BigQuery.
Se abrirá el cuadro de mensaje de bienvenida a BigQuery en la consola de Cloud. Este cuadro de mensaje contiene un vínculo a la guía de inicio rápido y las notas de la versión.
Haz clic en Listo.
En la barra de herramientas del Espacio de trabajo de SQL, haz clic en el ícono Consulta sin título para abrir el editor de código SQL.
En el editor de consultas, copia y pega lo siguiente y, luego, haz clic en Ejecutar:
CREATE SCHEMA IF NOT EXISTS
animals_dataset OPTIONS(
location="us");
Esta consulta crea un nuevo conjunto de datos de BigQuery llamado animals_dataset. Ten en cuenta que la sentencia DDL usa el término SCHEMA para hacer referencia a una colección lógica de tablas, vistas y otros recursos, que en BigQuery se conoce como un conjunto de datos.
En el editor de consultas, ejecuta las siguientes consultas para crear dos tablas nuevas:
CREATE TABLE animals_dataset.owners(
OwnerID INT64 NOT NULL,
Name STRING);
CREATE TABLE animals_dataset.pets(
PetID INT64 NOT NULL,
OwnerID INT64 NOT NULL,
Type STRING,
Name STRING,
Weight FLOAT64);
Estas consultas crean dos tablas llamadas owners y pets en el conjunto de datos de BigQuery que creaste anteriormente, animals_dataset.
Antes de avanzar al siguiente paso, actualiza el modo del campo de OBLIGATORIO a ANULABLE en el esquema de la tabla para evitar errores en el paso 5.
En el panel Explorador, selecciona el nombre de la tabla, elige la pestaña ESQUEMA, haz clic en EDITAR ESQUEMA y, luego, actualiza el modo del campo de OBLIGATORIO a ANULABLE. Repite este paso para todos los campos con el modo "OBLIGATORIO" en ambas tablas.
En el editor de consultas, ejecuta lo siguiente:
LOAD DATA INTO animals_dataset.owners
FROM FILES (
skip_leading_rows=1,
format = 'CSV',
field_delimiter = ',',
uris = ['gs://tcd_repo/data/environmental/animals/owners.csv']);
LOAD DATA INTO animals_dataset.pets
FROM FILES (
skip_leading_rows=1,
format = 'CSV',
field_delimiter = ',',
uris = ['gs://tcd_repo/data/environmental/animals/pets.csv']);
Estas consultas cargan datos en las tablas owners y pets desde archivos CSV en Cloud Storage.
En el panel Resultados, se muestra un mensaje que indica que la sentencia LOAD se ejecutó correctamente.
Expande el panel Explorador (panel lateral izquierdo) que enumera el conjunto de datos y la tabla. Luego, haz clic en el nombre de la tabla owners.
Haz clic en las pestañas Detalles y Vista previa para ver más información sobre la tabla y una vista previa de los datos.
Puedes hacer clic en Actualizar (arriba a la derecha) para actualizar los datos en la pestaña Vista previa.
Repite los pasos 6 y 7 para obtener más información sobre la tabla llamada pets y una vista previa de los datos.
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear un conjunto de datos y tablas de BigQuery
Tarea 2: Actualiza datos de tablas de BigQuery con sentencias DML
En BigQuery, puedes usar DML para actualizar los datos en una tabla existente, lo que incluye agregar, modificar y borrar datos de tus tablas de BigQuery.
Después de cada consulta de inserción, el panel Resultados mostrará que se agregó un registro a la tabla pets.
En el editor de consultas, ejecuta lo siguiente para verificar que se hayan agregado Mary y sus dos perros a las tablas correspondientes:
SELECT o.Name, p.Type, p.Name
FROM
animals_dataset.owners o
JOIN
animals_dataset.pets p
ON
o.OwnerID = p.OwnerID
WHERE
o.Name = 'Mary';
El registro de Mary en la tabla owners se unió a los dos registros de la tabla pets correspondientes a sus perros, George y Washington.
En el editor de consultas, ejecuta lo siguiente para actualizar todos los valores del tipo de animal "Dog" a "Canine":
UPDATE
animals_dataset.pets
SET
Type = 'Canine'
WHERE
Type = 'Dog';
Esta sentencia modifica 10 filas en la tabla pets.
Haz clic en Ir a la tabla y, luego, en la pestaña Vista previa.
Verifica que todos los perros ahora se identifiquen como canes en la tabla pets.
Puedes hacer clic en Actualizar (arriba a la derecha) para actualizar los datos en la pestaña Vista previa.
En el editor de consultas, ejecuta lo siguiente para borrar todos los valores del tipo de animal "Frog":
DELETE FROM
animals_dataset.pets
WHERE
Type = 'Frog';
Esta sentencia quita 1 fila de la tabla pets.
Haz clic en Ir a la tabla y, luego, en la pestaña Vista previa.
Verifica que se hayan quitado todos los elementos "frogs" de la tabla pets.
Puedes hacer clic en Actualizar (arriba a la derecha) para actualizar los datos en la pestaña Vista previa.
Haz clic en Revisar mi progreso para verificar el objetivo.
Actualizar datos de tablas de BigQuery con sentencias DML
Tarea 3: Une datos y escribe CTE con sentencias SQL SELECT
En BigQuery, puedes escribir sentencias SQL SELECT con sintaxis para uniones, CTE, ordenamiento, agrupamiento, filtrado, pivoteo, renderización en ventanas y más para recuperar los datos que necesitas.
Para obtener más información sobre la sintaxis de SQL SELECT para trabajar con datos en tablas de BigQuery, revisa la documentación titulada Sintaxis de consultas.
En esta tarea, escribirás sentencias SQL SELECT que incluyen operaciones JOIN para unir varias tablas y cláusulas WITH para definir CTE.
En el editor de consultas, ejecuta lo siguiente con un JOIN para seleccionar a todos los propietarios y sus mascotas:
SELECT
o.Name, p.Type, p.Name, p.Weight
FROM
animals_dataset.owners o
JOIN
animals_dataset.pets p
ON
o.OwnerID = p.OwnerID;
En el editor de consultas, ejecuta la misma consulta con una cláusula WHERE para seleccionar solo los canes:
SELECT
o.Name, p.Type, p.Name, p.Weight
FROM
animals_dataset.owners o
JOIN
animals_dataset.pets p
ON
o.OwnerID = p.OwnerID
WHERE
p.Type = "Canine";
En el editor de consultas, ejecuta la misma consulta con una cláusula ORDER BY para ordenar los resultados por el nombre del propietario.
SELECT
o.Name, p.Type, p.Name, p.Weight
FROM
animals_dataset.owners o
JOIN
animals_dataset.pets p
ON
o.OwnerID = p.OwnerID
WHERE
p.Type = "Canine"
ORDER BY
o.Name ASC;
En el editor de consultas, ejecuta lo siguiente para contar las mascotas por tipo:
SELECT
type, COUNT(*) AS count
FROM
animals_dataset.pets
GROUP BY
type
ORDER BY
count DESC;
Hay 10 canes, 5 gatos, 2 cerdos y 2 tortugas en la tabla pets.
En el editor de consultas, ejecuta lo siguiente para contar las mascotas por propietario.
SELECT
o.Name, COUNT(p.Name) AS count
FROM
animals_dataset.owners o
JOIN
animals_dataset.pets p
ON
o.OwnerID = p.OwnerID
GROUP BY
o.Name
ORDER BY
count DESC;
El propietario llamado Doug tiene la mayor cantidad de mascotas, con un total de 4.
En el editor de consultas, ejecuta lo siguiente para devolver la información de las mascotas como un campo anidado y repetido:
SELECT
o.OwnerID,
o.Name AS OwnerName,
ARRAY_AGG(STRUCT(
p.Name AS PetName,
p.Type,
p.Weight)) AS Pets
FROM
animals_dataset.owners AS o
JOIN
animals_dataset.pets AS p
ON
o.OwnerID = p.OwnerID
GROUP BY
o.OwnerID, o.Name;
Nota: En BigQuery, los campos anidados y repetidos se almacenan como ARRAY de STRUCT. La sintaxis ARRAY_AGG(STRUCT…) proporciona los resultados como valores anidados y repetidos, y facilita visualizar las relaciones entre los datos, ya que los valores unidos se organizan con claridad.
Otra opción útil de SQL en BigQuery es usar una cláusula WITH para definir CTE y consultar los resultados de otra consulta. Con esta sintaxis, puedes evitar el uso de sentencias de SQL anidadas y facilitar la lectura de tu código.
En el editor de consultas, ejecuta lo siguiente para definir una CTE basada en la consulta anterior:
WITH owners_pets AS (SELECT
o.OwnerID,
o.Name AS OwnerName,
ARRAY_AGG(STRUCT(
p.Name AS PetName,
p.Type,
p.Weight)) AS Pets
FROM
animals_dataset.owners AS o
JOIN
animals_dataset.pets AS p
ON
o.OwnerID = p.OwnerID
GROUP BY
o.OwnerID, o.Name)
SELECT
op.OwnerName, op.Pets
FROM
owners_pets AS op;
Haz clic en Revisar mi progreso para verificar el objetivo.
Unir datos y escribir CTE con sentencias SQL SELECT
Tarea 4: Crea tablas y vistas nuevas con sentencias DDL
En una tarea anterior, usaste DDL para crear nuevos conjuntos de datos y tablas de BigQuery. En BigQuery, también puedes usar DDL para crear vistas lógicas y materializadas.
Para obtener más información sobre el uso de sentencias DDL para crear vistas en BigQuery, consulta la documentación titulada Introducción a las vistas.
En esta tarea, usarás DDL para crear nuevas tablas y vistas lógicas y materializadas.
En el editor de consultas, ejecuta el siguiente código para escribir los resultados de una consulta en una tabla nueva:
CREATE OR REPLACE TABLE
animals_dataset.owners_pets AS (
SELECT
o.OwnerID,
o.Name AS OwnerName,
ARRAY_AGG(STRUCT(
p.PetID,
p.Name AS PetName,
p.Type,
p.Weight)) AS Pets
FROM
animals_dataset.owners AS o
JOIN
animals_dataset.pets AS p
ON
o.OwnerID = p.OwnerID
GROUP BY
o.OwnerID, o.Name
);
Expande el panel Explorador (panel lateral izquierdo), que enumera el conjunto de datos y la tabla. Luego, haz clic en la tabla llamada owner_pets.
Haz clic en la pestaña Esquema para revisar el esquema de la tabla recién creada que se llama owners_pets.
El esquema incluye un campo anidado y repetido llamado Pets, que contiene el ID, el nombre, el tipo y el peso de cada mascota para cada propietario.
En una tarea anterior, ejecutaste una consulta que unió las tablas owners y pets para contar la cantidad de mascotas de cada propietario. Ahora que los datos se encuentran en un campo anidado y repetido, puedes usar la función ARRAY_LENGTH para devolver la cantidad de mascotas de cada propietario.
En el editor de consultas, ejecuta lo siguiente para devolver la cantidad de mascotas de cada propietario:
SELECT
OwnerName,
ARRAY_LENGTH(Pets) AS count
FROM
animals_dataset.owners_pets
ORDER BY
count DESC;
En el editor de consultas, ejecuta lo siguiente para crear una vista lógica que solo devuelva mascotas pequeñas (de 9 kg o menos):
CREATE OR REPLACE VIEW
animals_dataset.small_pets AS (
SELECT
*
FROM
animals_dataset.pets
WHERE
weight <= 20
);
Haz clic en Ir a la vista.
En el panel Explorador, haz clic en Ver acciones (el ícono con tres botones verticales) para la vista small_pets y, luego, selecciona Consultar.
En el editor de consultas, ejecuta lo siguiente para examinar los datos de la vista:
SELECT
PetID, Weight
FROM
animals_dataset.small_pets;
En BigQuery, las vistas materializadas son vistas procesadas con anterioridad que almacenan en caché de forma periódica los resultados de una consulta para aumentar el rendimiento y la eficiencia. Las vistas materializadas pueden ser especialmente útiles para las consultas que requieren un procesamiento complejo, como las agregaciones.
En el editor de consultas, ejecuta lo siguiente para crear una vista materializada que devuelva el peso total de cada tipo de mascota:
CREATE OR REPLACE MATERIALIZED VIEW
animals_dataset.pet_weight_by_type AS (
SELECT
type,
SUM(Weight) AS total_weight
FROM
animals_dataset.pets
GROUP BY
type
);
Haz clic en Ir a la vista materializada.
En el panel Explorador, haz clic en Ver acciones (el ícono con tres botones verticales) para la vista materializada pet_weight_by_type y selecciona Consultar.
En el editor de consultas, ejecuta lo siguiente para examinar los datos de la vista materializada:
SELECT
type, total_weight
FROM
animals_dataset.pet_weight_by_type;
Los canes tienen el peso total más alto, 142 kg.
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear tablas y vistas nuevas con sentencias DDL
Tarea 5: Define UDF personalizadas y procedimientos almacenados
En BigQuery, puedes definir UDF personalizadas para los casos en que no haya una función integrada que ya haga lo que necesitas. Las UDF aceptan una o más columnas de datos de entrada, ejecutan acciones en los datos de entrada y devuelven el resultado de esas acciones como salida. Además, puedes definir procedimientos almacenados como funciones que ejecutan colecciones de sentencias de SQL, como SELECT, INSERT y muchas más, en el orden deseado.
En esta tarea, definirás UDF y procedimientos almacenados para volver a calcular los valores existentes en una tabla y facilitar la adición de registros de datos nuevos a una tabla.
En el editor de consultas, ejecuta el siguiente código para crear una UDF que convierta libras a kilogramos:
CREATE OR REPLACE FUNCTION animals_dataset.PoundsToKilos(pounds FLOAT64)
AS (
round(pounds / 2.2, 1)
);
En el editor de consultas, ejecuta lo siguiente para probar la UDF:
SELECT
name,
weight AS pounds,
animals_dataset.PoundsToKilos(Weight) AS Kilos
FROM
animals_dataset.pets;
También puedes crear un procedimiento almacenado para facilitar la inclusión de una mascota nueva. El siguiente procedimiento busca el ID de mascota más grande en la tabla pets y le agrega un valor de 1 a ese ID. Luego, se asigna ese valor nuevo como el ID de la nueva mascota. Cuando se agrega la mascota nueva, se devuelve su valor de ID.
En el editor de consultas, ejecuta lo siguiente para crear un procedimiento almacenado que agregará una mascota nueva:
CREATE OR REPLACE PROCEDURE animals_dataset.create_pet(
customerID INT64, type STRING, name STRING, weight FLOAT64, out newPetID INT64)
BEGIN
SET newPetID = (SELECT MAX(PetID) + 1 FROM animals_dataset.pets);
INSERT INTO animals_dataset.pets (PetID, OwnerID, Type, Name, Weight)
VALUES(newPetID, customerID, type, name, weight);
END
En el editor de consultas, ejecuta lo siguiente para probar el procedimiento almacenado:
DECLARE newPetID INT64;
CALL animals_dataset.create_pet(1, 'Dog', 'Duke', 15.0, newPetID);
SELECT *
FROM
animals_dataset.pets
WHERE
PetID = newPetID;
Haz clic en Ver resultados para la última sentencia SELECT *.
Observa que la variable de salida de la función es el registro recién creado de un perro llamado Duke con un ID de mascota igual a 30.
En el editor de consultas, ejecuta lo siguiente para agregar otra mascota nueva:
DECLARE newPetID INT64;
CALL animals_dataset.create_pet(4, 'Cat', 'Fluffy', 6.0, newPetID);
SELECT *
FROM
animals_dataset.pets
WHERE
PetID = newPetID;
Haz clic en Ver resultados para la última sentencia SELECT *.
Observa que el valor del campo ID sigue aumentando. El nuevo ID de mascota para un gato llamado Fluffy es 31.
En el editor de consultas, ejecuta lo siguiente para verificar que se hayan agregado las dos mascotas nuevas a la tabla pets:
SELECT *
FROM
animals_dataset.pets
WHERE
Name in ('Duke', 'Fluffy');
Haz clic en Revisar mi progreso para verificar el objetivo.
Definir UDF personalizadas y procedimientos almacenados
Finaliza el lab
Cuando hayas completado el lab, haz clic en Finalizar lab. Google Skills quitará los recursos que usaste y limpiará la cuenta.
Tendrás la oportunidad de calificar tu experiencia en el lab. Selecciona la cantidad de estrellas que corresponda, ingresa un comentario y haz clic en Enviar.
La cantidad de estrellas indica lo siguiente:
1 estrella = Muy insatisfecho
2 estrellas = Insatisfecho
3 estrellas = Ni satisfecho ni insatisfecho
4 estrellas = Satisfecho
5 estrellas = Muy satisfecho
Puedes cerrar el cuadro de diálogo si no deseas proporcionar comentarios.
Para enviar comentarios, sugerencias o correcciones, usa la pestaña Asistencia.
Copyright 2026 Google LLC. Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que están asociados.
Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
.
Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar
Usa la navegación privada
Copia el nombre de usuario y la contraseña proporcionados para el lab
Haz clic en Abrir la consola en modo privado
Accede a la consola
Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
Acepta las condiciones y omite la página de recursos de recuperación
No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto
Este contenido no está disponible en este momento
Te enviaremos una notificación por correo electrónico cuando esté disponible
¡Genial!
Nos comunicaremos contigo por correo electrónico si está disponible
Un lab a la vez
Confirma para finalizar todos los labs existentes y comenzar este
Usa la navegación privada para ejecutar el lab
Usar una ventana de incógnito o de navegación privada es la mejor forma de ejecutar
este lab. Así evitarás cualquier conflicto entre tu cuenta personal
y la cuenta de estudiante, lo que podría generar cargos adicionales en
tu cuenta personal.
En este lab, crearás tablas y vistas con sentencias DDL, actualizarás tablas con sentencias DML, unirás datos con SQL y delimitarás funciones definidas por el usuario (UDF) personalizadas y procedimientos almacenados.
Duración:
0 min de configuración
·
Acceso por 90 min
·
60 min para completar