Skip to content

SQL

SQL es el lenguaje para pedirle datos a una base de datos: qué columnas, de qué tabla, qué filas y cómo resumirlas. Te regresa otra tabla.

Selecciona cualquier frase de aquí para preguntarle a tu Maestro.

SELECT sucursal, SUM(monto) FROM pedidos WHERE monto > 300 GROUP BY sucursal HAVING SUM(monto) > 3000. Sin el WHERE, Norte suma $3,490; dos de sus pedidos son de $210 y $280. ¿Sale Norte en el resultado?

Cada punto es una fila de la tabla pedidos; las barras, la suma por sucursal. Datos de ejemplo.

Para qué sirve: para sacar respuestas de una base de datos sin copiar nada a Excel: cuántos pedidos hubo por sucursal, qué clientes no han vuelto, cuánto se vendió ayer. Lo que en Excel harías con filtros y una tabla dinámica, en SQL es una consulta de pocas líneas que puedes volver a correr mañana.

Cómo se lee: una consulta dice qué columnas quieres (SELECT), de qué tabla (FROM), qué filas (WHERE) y cómo resumirla (GROUP BY). Lo que regresa es otra tabla, que puedes exportar como CSV. Antes de contar filas, ten claro qué es cada una: la granularidad de la tabla.

Se dice "ese-cu-ele"; en inglés también "síquel". Las siglas vienen de Structured Query Language.

Lo aprendes desde cero en SQL para gente de datos. Si ya agrupas, sigue con ¿En qué orden se ejecuta una consulta SQL con funciones de ventana?.

Así se usa

Cómo se escribe

Cuántos pedidos tuvo cada sucursal

  1. marcado: SELECT sucursal, COUNT(*) AS n_pedidosLas columnas que quieres de vuelta.
  2. FROM pedidosLa tabla de donde salen.
  3. GROUP BY sucursalUna fila por sucursal.
  4. ORDER BY n_pedidos DESC;La que tiene más, primero.
  5. Centro 9 · Norte 8 · Sur 7Lo que regresa: otra tabla, de 3 filas.
Se lee casi como una frase: selecciona la sucursal y cuántos pedidos, de pedidos, agrupado por sucursal. Funciona igual en PostgreSQL, MySQL, SQL Server, SQLite o BigQuery, con diferencias chicas.

Cuándo mirar más de cerca

Las filas con NULL se esconden

Los pedidos que no usaron el cupón DIEZ

  1. marcado: SELECT COUNT(*) FROM pedidos
  2. WHERE cupon <> 'DIEZ';

De 24 pedidos, 6 usaron el cupón DIEZ, 14 otro cupón y 4 ninguno (NULL). ¿Cuántos cuenta esta consulta?

Pregúntale a tu Maestro sobre SQL

Te responde desde la página gratis más cercana a esta palabra, igual que mientras estudias.

Ejemplo

Tú: ¿Qué quiere decir "SQL", en palabras sencillas?

Tu Maestro: Te lo explico con un caso tuyo, que se queda mejor que una definición. ¿Qué pregunta de tu trabajo contestarías con una consulta?

Pregunta sobre: Responde desde la página "¿Cómo veo las filas, columnas y tipos de una tabla en pandas?"

Solo este navegador guarda lo que preguntas aquí. ¿Cómo funciona?

Para saber más

  • Base de datos

    Una base de datos guarda datos en tablas conectadas, con reglas para cada columna, para que muchas personas y programas los usen y cambien sin pisarse.

  • Tabla dinámica

    Una tabla dinámica resume una tabla larga en segundos: agrupa por las columnas que eliges y suma, cuenta o promedia otra, sin escribir fórmulas.

  • CSV

    Un CSV (valores separados por comas) es un archivo de texto plano que guarda una tabla: una fila por línea, con comas entre las columnas.

  • Granularidad (de una tabla)

    Lo que representa una fila de una tabla: una persona, una transacción, un planeta, una persona por lenguaje. Contar filas solo cuenta lo que quieres si conoces la granularidad.

Todo el glosario