CURSO GRATUITO SQL AQUÍ ⬇⬇⬇

🔗https://www.kaggle.com/learn/intro-to-sql

Getting Started with SQL and BigQuery

# Importación de BigQuery
from google.cloud import bigquery

# Crear Cliente
# Este cliente tendrá un rol central en el traer la información de datasetsde BigQuery
client = bigquery.Client()

# Traer nuestro dataset
dataset_ref = client.dataset("hacker news", project = "biguery-public-data")
dataset = client.get_dataset(dataset_ref)

# Método para listar tablas
tables = list(client.list_tables(dataset))
for elemento in table:
	print(elemento.table_id)

# Traer una table de un dataset
table_ref = dataset_ref.table("full")
table = client.get_table(table_ref)

# Ver esquema de tabla
table.schema

# Vista previa de las primeras cinco lineas de la tabla "full"
client.list_rows(table, max_results = 5).to_dataframe()

# Ver los primeros cinco registros de nuestra tabla "full"
client.list_rows(table, selected_fields = table.schema[:1], max_results = 5).to_dataframe()

Select, From and Where

# Consulta SELECT
query = """
				SELECT Name
				FROM `bigquery-public-data.pet_records.pets`
				"""

# Consulta WHERE
query = """
				SELECT Name
				FROM `bigquery-public-data.pet_records.pets`
				WHERE Animal = 'Cat'
				"""

# --  /  --  /  --  /  --  /  --  /  --  /  --  /  --  /  --  /

# Nuestra consulta
query = """
        SELECT city
        FROM `bigquery-public-data.openaq.global_air_quality`
        WHERE country = 'US'
        """

#Ejecutamos la consulta en el objeto
query_job = client.query(query)

# Pasamos el resultado de la consulta a dataFrame
us_cities_df = query_job.to_dataframe()

# Los valores más frecuentes en nuestro dataFrame
us_cities_df.city.value_counts().head()

# --  /  --  /  --  /  --  /  --  /  --  /  --  /  --  /  --  /

# Configuración de la ejecución
dry_run_config = bigquery.QueryJobConfig(dry_run=True)

# Hacemos la consulta a partir de nuestra configuración de ejecución
dry_run_query_job = client.query(query, job_config=dry_run_config)

# --  /  --  /  --  /  --  /  --  /  --  /  --  /  --  /  --  /

# Limitando la consulta
ONE_MB = 1000*1000

# Guardar configuración de consulta
safe_config = bigquery.QueryJobConfig(maximum_bytes_billed=ONE_MB)

# Ejecutamos la consulta con la config guardada
safe_query_job = client.query(query, job_config=safe_config)

# Pasar a dataframe la consulta
safe_query_job.to_dataframe()

Group By, Having & Count

Order By

As and with

Joining Data