Comando SELECT
El comando SELECT
Permite elegir las columnas que se van a seleccionar de una tabla que estemos consultando. Se usa junto al comando FROM
que indica la tabla consultada. Y en el ejemplo que se presenta a continuación también junto al comando LIMIT
para indicar que solo se muestren las primeras 10 filas de resultado.
Ejemplo:
SELECT term, search_interest
FROM `bigquery-public-data.google_trends.top_terms`
LIMIT 10;
Explicación: Se seleccionan las columnas term
y search_interest
y se muestran los primeros 10 registros.
Comando WHERE
Filtra los registros de acuerdo a condiciones específicas que debe cumplir cada fila para ser incluida en el resultado. Esto nos va a permitir trabajar con un subconjunto de datos y seleccionar solo la información que realmente necesitamos.
Operadores de comparación
Operadores que permiten comparar los valores de columna
=
: Igual a.
<>
o !=
: Distinto de.
>
: Mayor que.
<
: Menor que.
>=
: Mayor o igual que.
<=
: Menor o igual que.
Ejemplo:
SELECT *
FROM `bigquery-public-data.google_trends.top_terms`
WHERE search_interest > 50;
Operadores lógicos
Operadores que permiten combinar múltiples condiciones en la cláusula WHERE.
AND
: Todas las condiciones deben cumplirse.
OR
: Al menos una de las condiciones debe cumplirse.
NOT
: Niega la condición que le sigue.
Ejemplo con AND
:
SELECT *
FROM `bigquery-public-data.google_trends.top_terms`
WHERE region = 'US'
AND search_interest > 50;
Ejemplo con OR
:
SELECT *
FROM `bigquery-public-data.google_trends.top_terms`
WHERE region = 'US'
OR region = 'ES';
Ejemplo con NOT
:
SELECT *
FROM `bigquery-public-data.google_trends.top_terms`
WHERE NOT region = 'US';
Operador BETWEEN
Permite filtrar los registros cuyos valores se encuentren dentro de un rango específico.
Ejemplo:
SELECT *
FROM `bigquery-public-data.google_trends.top_terms`
WHERE search_interest BETWEEN 10 AND 100;
Operador IN
Permite especificar múltiples valores válidos para una columna.
Ejemplo:
SELECT *
FROM `bigquery-public-data.google_trends.top_terms`
WHERE region IN ('US', 'GB', 'ES');
Operador LIKE
Se utiliza para realizar búsquedas con patrones en cadenas de texto.
Ejemplo:
SELECT *
FROM `bigquery-public-data.google_trends.top_terms`
WHERE term LIKE 'A%';
Operadores IS NULL / IS NOT NULL
Permiten filtrar registros basados en la presencia o ausencia de valores en una columna.
Ejemplo con IS NULL:
SELECT *
FROM `bigquery-public-data.google_trends.top_terms`
WHERE region IS NULL;
Ejemplo con IS NOT NULL:
SELECT *
FROM `bigquery-public-data.google_trends.top_terms`
WHERE region IS NOT NULL;
Comando GROUP BY
Agrupa filas que tienen los mismos valores en una o más columnas, útil para funciones de agregación. En el ejemplo se usa junto al comando COUNT
que cuenta los resultados.
Ejemplo:
SELECT term, COUNT(*) AS ocurrencias
FROM `bigquery-public-data.google_trends.top_terms`
GROUP BY term;
Explicación: Se agrupa la información por cada term
y se cuenta el número de veces que aparece.
Comando HAVING
Similar a WHERE
, pero se utiliza para filtrar grupos generados por GROUP BY
.
Ejemplo:
SELECT term, COUNT(*) AS ocurrencias
FROM `bigquery-public-data.google_trends.top_terms`
GROUP BY term
HAVING COUNT(*) > 5;
Explicación: Se filtran los grupos para mostrar solo aquellos términos que aparecen más de 5 veces.
Comando ORDER BY
Ordena los resultados según una o más columnas, ya sea de forma ascendente (ASC
) o descendente (DESC
).
Ejemplo:
SELECT term, search_interest
FROM `bigquery-public-data.google_trends.top_terms`
WHERE search_interest > 50
ORDER BY search_interest DESC
LIMIT 10;
Explicación: Se ordenan los resultados de mayor a menor según search_interest
.
Comando JOIN
Permite combinar filas de dos o más tablas basándose en una relación entre ellas.
Ejemplo:
SELECT a.term,
a.search_interest AS interest_US,
b.search_interest AS interest_ES
FROM `bigquery-public-data.google_trends.top_terms` AS a
JOIN `bigquery-public-data.google_trends.top_terms` AS b
ON a.term = b.term
WHERE a.region = 'US'
AND b.region = 'ES'
LIMIT 10;
Explicación: Se unen dos instancias de la misma tabla para comparar el interés de búsqueda de cada término en dos regiones diferentes.