Comprender las expresiones SQL: la clave para una consulta eficaz
Las expresiones SQL son una parte esencial para escribir un código óptimo, lo que permite a los profesionales formular consultas complejas que filtran, agrupan y agregan datos. El uso de expresiones es fundamental para realizar consultas y manipular datos de manera eficiente a fin de brindar información convincente. La mayoría de SQL que se escribe en la práctica cotidiana utiliza algún tipo de expresión SQL y ofrece una oportunidad para que el autor practique formas lógicas de manipular datos.
¿Qué son las expresiones SQL?
Las expresiones SQL son declaraciones que se utilizan en el código para realizar cálculos, comparaciones y operaciones lógicas en datos almacenados en tablas y bases de datos. El uso de expresiones presenta la oportunidad de pensar creativamente sobre una salida de datos y es común en el análisis exploratorio de datos, los cortes dimensionales y el trabajo de segmentación.
Las expresiones SQL se pueden usar en varias partes de una consulta SQL, incluidas las cláusulas SELECT, WHERE, GROUP BY, HAVING y ORDER BY.
Algunos ejemplos comunes de expresiones SQL son:
Expresiones aritméticas:
SELECT
revenue_in_cents/100AS revenue_in_usd
FROM sales_table
En la tabla de ventas anterior, la columna de ingresos en centavos no es particularmente valiosa por sí sola. Al usar una expresión SQL aritmética para dividir los ingresos_en_centavos por 100, la columna se convierte a dólares, lo que hace que la información sea más intuitiva. Cambiar el nombre de la columna con un alias de SQL hace que los datos de salida sean más legibles.
Expresiones lógicas:
SELECT
country,
COUNT(orders)
FROM orders_table
WHERE price >100
AND region = ‘APAC’
GROUP BY country
En el ejemplo anterior, la expresión WHERE se usa para filtrar los datos en orders_table para mostrar solo resultados donde el precio es >100 y la región = APAC.
¿Por qué son importantes las expresiones SQL?
Como se muestra en los ejemplos anteriores, los datos consultados directamente desde una tabla sin filtros ni expresiones pueden ser confusos de interpretar y, en general, subóptimos. Con las expresiones SQL, los datos se vuelven mucho más aplicables en la práctica. Los valores de columna se pueden calcular, filtrar y ordenar en unos segundos aprovechando la expresión SQL correcta.
Algunos casos de uso valiosos que resaltan la importancia de las expresiones SQL son:
- Mejora del análisis de datos: El aprovechamiento de las expresiones permite analizar y manipular datos de formas que de otro modo no serían posibles. Permiten filtrar valores de columna y fechas, al tiempo que ejecutan aritmética simple o incluso compleja en valores de métricas agregados.
- Optimización de consultas: Las expresiones mejoran la eficiencia al reducir la cantidad de datos necesarios para recuperar de una base de datos. Permiten que el profesional de datos defina específicamente solo los datos necesarios, lo que reduce la cantidad de registros que deben procesarse.
- Precisión de los datos: Las expresiones SQL se pueden usar para validar datos y garantizar que cumplan con criterios específicos. Por ejemplo, durante la consulta, un profesional de datos puede usar expresiones SQL para asegurarse de que los datos estén dentro de un cierto rango o que coincidan con un formato específico.
Cómo usar expresiones SQL
Las expresiones SQL se pueden usar en varias partes de una consulta SQL según la salida de datos deseada. Estos son algunos ejemplos de cómo las expresiones SQL se pueden usar en la práctica en una variedad de necesidades de agregación de datos:
Cláusula CONCAT
SELECT
CONCAT(first_name,’ ‘, last_name) AS full_name,
(price * quantity) AS total_price
FROM orders_table
En el ejemplo anterior, la función CONCAT se usa para concatenar las columnas de cadena first_name y last_name en la tabla de pedidos. La palabra clave AS se utiliza para dar a la columna resultante un alias (full_name). El operador de multiplicación
se utiliza para calcular la columna precio_total multiplicando las columnas de precio y cantidad en la tabla de pedidos.
Cláusula GROUP BY
SELECT
region,
year,
AVG(total_price) AS average_price
FROM sales_table
GROUP BY region, year
La cláusula GROUP BY se utiliza para agrupar datos en función de columnas específicas, especialmente cuando se utilizan agregaciones.
En el ejemplo anterior, la cláusula GROUP BY agrupa el cálculo del precio promedio por región y año.
Expresiones de fecha y hora
Las expresiones de fecha y hora en SQL no solo son útiles, sino que a menudo son necesarias, ya que la mayoría de los datos tienen algún tipo de componente de tiempo. Hay una amplia lista de expresiones en SQL que tratan con datos de fecha y hora. Aquí hay algunos de los más comunes: Usar fechas como filtro con un DÓNDE
SELECT
COUNT(DISTINCT order_id) AS num_orders
FROM orders_table
WHERE order_date >= 2022-01-01
cláusula como se ve a continuación:
En lo anterior, esta consulta solo devuelve la cantidad de pedidos que se realizaron desde el 2022-01-01.FECHA ACTUAL :
Esta expresión devuelve la fecha actual en la zona horaria de la base de datos. Es útil cuando se consultan datos ENTRE una fecha_inicial y la FECHA_ACTUAL. TIEMPO ACTUAL:
Esta expresión devuelve la hora actual en la zona horaria de la base de datos. AÑADIR FECHA:
SELECT
appointment_id,
appointment_date,
duration_minutes,
DATEADD(minute, duration_minutes, appointment_start_time) AS appointment_end_time
FROM appointments
Esta expresión agrega un número específico de intervalos (como días, meses o años) a un valor de fecha u hora. Supongamos que tiene una tabla llamada citas con las columnas id_cita, hora_de_inicio_de_cita y duración_minutos. Desea recuperar una lista de las horas de inicio y finalización de la cita, donde la hora de finalización es la hora de inicio más la duración de la cita en minutos.
Usando la expresión DATEADD, la hora_finalización_de_la_cita es fácil de calcular.FECHADIFF
: Esta expresión calcula la diferencia entre dos valores de fecha u hora en un intervalo específico (como días, meses o años).
SELECT
first_name,
Last_name,
DATEDIFF(year, birth_date, CURRENT_DATE()) AS age_in_years
FROM users_table
Por ejemplo, digamos que es necesario ver rápidamente las edades de todos los usuarios en una tabla llamada tabla_usuarios. La expresión DATEDIFF se puede usar para calcular la edad de un usuario usando la columna birth_date y la expresión CURRENT_DATE.
Conclusión
Desde operaciones aritméticas simples hasta funciones más complejas como DATEADD o DATEDIFF, las expresiones SQL crean salidas de datos óptimas al transformar y obtener información de una fuente de datos. Al dominar las expresiones SQL, se vuelve más fácil escribir consultas eficientes y obtener información valiosa y, en última instancia, tomar mejores decisiones con los datos.
¿Quiere ampliar sus conocimientos de SQL? Tome nuestro programa Nanodegree en línea de SQL para adquirir habilidades en demanda y dominar el lenguaje de programación central para el análisis de datos.