Saltar al contenido

Cómo escribir consultas simples

febrero 21, 2022
introduction to sql.jpegkeepProtocol

¿Alguna vez has oído hablar del lenguaje informático llamado SQL? Es posible que haya oído hablar de él en el contexto del análisis de datos, pero nunca pensó que se aplicaría a usted como especialista en marketing. O puede que hayas pensado, «Eso es por el De Verdad Usuarios avanzados de datos. Nunca podría hacer eso.»

¡Pues no podrías estar más equivocado! Los especialistas en marketing más exitosos se basan en datos, y una de las partes más importantes de hacerlo es poder recopilar datos de bases de datos rápidamente. SQL resulta ser una de las mejores y más populares herramientas que existen para hacer precisamente eso.

Descarga 10 plantillas de Excel para especialistas en marketing [Free Kit]

SQL significa Lenguaje de Consulta Estructurado, y se usa cuando las empresas tienen una gran cantidad de datos que quieren manipular de una manera fácil y rápida. Si su empresa ya almacena datos en una base de datos, es posible que deba aprender SQL para acceder a los datos. Pero no se preocupe, ¡está en el lugar correcto para comenzar!

Antes de comenzar, asegúrese de tener una aplicación de administración de base de datos que le permita extraer datos de su base de datos. Algunas opciones incluyen Banco de trabajo MySQL o secuela profesional. Comience por descargar una de estas opciones y luego hable con su empresa sobre cómo conectarse a su base de datos. La opción que elija dependerá del backend de su producto, así que consulte con su equipo de producto para asegurarse de seleccionar la correcta.

Saltemos directamente.

¿Por qué usar SQL?

La belleza de SQL es que cualquiera que trabaje en una empresa que almacene datos en una base de datos relacional puede usarlo. (Y lo más probable es que el tuyo lo haga).

Si trabaja para una empresa de software y desea obtener datos de uso de sus clientes, puede hacerlo mediante SQL. Si trabaja para una empresa de comercio electrónico que tiene datos sobre las compras de los clientes, puede usar SQL para averiguar qué clientes están comprando qué productos. Por supuesto, estos son solo algunos de muchos, muchos ejemplos.

Piénselo de esta manera: ¿alguna vez ha abierto un conjunto de datos muy grande en Excel, solo para que su computadora se congele o incluso se apague? SQL le permite acceder solo a ciertas partes de sus datos a la vez para que no tenga que descargar los datos en un CSV, manipularlos y posiblemente sobrecargar Excel. En otras palabras, SQL se encarga del análisis de datos que usted puede estar acostumbrado a hacer en Excel. (Si desea profundizar un poco más en este aspecto de SQL, aquí hay una publicación de blog para que comiences.)

Cómo escribir consultas SQL simples

Comprender la jerarquía de su base de datos

Antes de comenzar, es importante que se familiarice con su base de datos y su jerarquía. Si tiene varias bases de datos de datos, deberá concentrarse en la ubicación de los datos con los que desea trabajar.

Por ejemplo, supongamos que estamos trabajando con múltiples bases de datos sobre personas en los Estados Unidos. Escriba la consulta «MOSTRAR BASES DE DATOS;». Nuestros resultados pueden mostrar que tiene un par de bases de datos para diferentes ubicaciones, incluida una para Nueva Inglaterra.

Dentro de su base de datos, tendrá diferentes tablas que contienen los datos con los que desea trabajar. Usando el mismo ejemplo anterior, digamos que queremos averiguar qué información está contenida en una de las bases de datos. Si usamos la consulta «MOSTRAR TABLAS en Nueva Inglaterra», encontraremos que tenemos tablas para cada estado en Nueva Inglaterra: gente_Connecticut, gente_maine, gente_massachusetts, gente_nuevaampshire, people_rhodeisland y people_vermont.

Finalmente, debe averiguar qué campos están en las tablas. Los campos son los datos específicos que puede extraer de su base de datos. Por ejemplo, si desea obtener la dirección de alguien, el nombre del campo puede no ser solo «dirección», sino que puede estar separado en dirección_ciudad, dirección_estado, dirección_código postal. Para resolver esto, utilice la consulta «Describe people_massachusetts;». Eso proporcionará una lista de todos los datos que puede extraer usando SQL.

Hagamos una revisión rápida de la jerarquía usando nuestro ejemplo de Nueva Inglaterra:

  • Nuestra base de datos es: NewEngland.
  • Nuestras tablas dentro de esa base de datos son: gente_Connecticut, gente_maine, gente_massachusetts, gente_nuevaampshire, people_rhodeisland y people_vermont.
  • Nuestros campos dentro de la tabla people_massachusetts incluyen: address_city, address_state, address_zip, hair_color, first_name y last_name.

Ahora, para aprender a escribir una consulta SQL simple, usemos el siguiente ejemplo:

¿Quiénes son las personas que son pelirrojas en Massachusetts y nacieron en 2003 organizadas en orden alfabético?

SELECCIONE

SELECCIONAR elige los campos que desea que se muestren en su gráfico. Esta es la información específica que desea extraer de su base de datos. En el ejemplo anterior, queremos encontrar el gente que cumplen con el resto de los criterios.

Aquí está nuestra consulta SQL:

SELECCIONE
primer nombre,
apellido

DESDE

FROM señala la tabla de la que desea extraer los datos. En la sección anterior, encontramos que había seis tablas para cada uno de los seis estados de Nueva Inglaterra: people_connecticut, people_maine, people_massachusetts, people_newhampshire, people_rhodeisland y people_vermont. Debido a que estamos buscando personas en Massachusetts específicamente, obtendremos datos de esa tabla específica.

Aquí está nuestra consulta SQL:

SELECCIONE
primer nombre,
apellido
DESDE
gente_massachusetts

DONDE

DONDE le permite filtrar su consulta para ser más específica. En nuestro ejemplo, queremos filtrar nuestra consulta para incluir solo a las personas pelirrojas que nacieron en 2003. Comencemos con el filtro pelirrojo.

Aquí está nuestra consulta SQL:

SELECCIONE
primer nombre,
apellido
DESDE
gente_massachusetts
DONDE
color_pelo = «rojo»

hair_color podría haber sido parte de su declaración SELECT inicial si hubiera querido ver a todas las personas en Massachusetts junto con su color de cabello específico. Pero si quieres filtrar para ver solamente las personas pelirrojas, pueden hacerlo en la instrucción WHERE.

Y

AND le permite agregar criterios adicionales a su declaración WHERE. Recuerde, queremos filtrar por personas que eran pelirrojas además de las personas que nacieron en 2003. Dado que nuestra afirmación DÓNDE se basa en los criterios de pelirrojos, ¿cómo podemos filtrar también por un año de nacimiento específico?

Ahí es donde entra en juego la instrucción AND. En este caso, la instrucción AND es una propiedad de fecha, pero no necesariamente tiene que serlo. (Nota: Verifique el formato de sus fechas con su equipo de producto para asegurarse de que esté en el formato correcto).

Aquí está nuestra consulta SQL:

SELECCIONE
primer nombre,
apellido
DESDE
gente_massachusetts
DONDE
color_pelo = «rojo»
Y
fecha_nacimiento ENTRE ‘2003-01-01’ Y ‘2003-12-31’

ORDENAR POR

Cuando crea consultas SQL, no debería tener que exportar los datos a Excel. El cálculo y organización debe hacerse dentro de la consulta. Ahí es donde entran las funciones «ORDER BY» y «GROUP BY». Primero, veremos nuestras consultas SQL con las funciones ORDER BY y luego GROUP BY, respectivamente. Luego, veremos brevemente la diferencia entre los dos.

Su cláusula ORDER BY le permitirá ordenar por cualquiera de los campos que haya especificado en la instrucción SELECT. En este caso, ordenemos por apellido.

Aquí está nuestra consulta SQL:

SELECCIONE
primer nombre,
apellido
DESDE
gente_massachusetts
DONDE
color_pelo = «rojo»
Y
fecha_nacimiento ENTRE ‘2003-01-01’ Y ‘2003-12-31’
ORDENAR POR
apellido
;

AGRUPAR POR

«GROUP BY» es similar a «ORDER BY», pero agregará datos que tengan similitudes. Por ejemplo, si tiene duplicados en sus datos, puede usar «GROUP BY» para contar el número de duplicados en sus campos.

Aquí está su consulta SQL:

SELECCIONE
primer nombre,
apellido
DESDE
gente_massachusetts
DONDE
color_pelo = «rojo»
Y
fecha_nacimiento ENTRE ‘2003-01-01’ Y ‘2003-12-31’
AGRUPAR POR
apellido
;

ORDEN POR VS. AGRUPAR POR

Para mostrarle claramente la diferencia entre una declaración «ORDER BY» y una declaración «GROUP BY», salgamos brevemente de nuestro ejemplo de Massachusetts para ver un conjunto de datos muy simple. A continuación se muestra una lista de los números de identificación y los nombres de cuatro empleados.

ordenar por grupo por

Si tuviéramos que usar una instrucción ORDER BY en esta lista, los nombres de los empleados se clasificarían en orden alfabético. Los resultados se verían así:

ordenar por

Si tuviéramos que usar una instrucción GROUP BY, los empleados se contarían en función del número de veces que aparecieron en la tabla inicial. Tenga en cuenta que Peter apareció dos veces en la tabla inicial. Los resultados se verían así:

agrupar por

Conmigo hasta ahora? Bueno. Volvamos a la consulta SQL que hemos estado creando sobre personas pelirrojas en Massachusetts que nacieron en 2003.

LÍMITE

Dependiendo de la cantidad de datos que tenga en su base de datos, puede llevar mucho tiempo ejecutar las consultas. Puede ser frustrante si se encuentra esperando mucho tiempo para ejecutar una consulta con la que realmente no deseaba comenzar. Si desea probar nuestra consulta, la función LIMIT es excelente para usar porque le permite limitar la cantidad de resultados que obtiene.

Por ejemplo, si sospechamos que hay millones de personas pelirrojas en Massachusetts, es posible que deseemos probar nuestra consulta con LIMIT antes de ejecutarla por completo para asegurarnos de obtener la información que queremos. Digamos, por ejemplo, que solo queremos ver a las primeras 100 personas.

Aquí está nuestra consulta SQL:

SELECCIONE
primer nombre,
apellido
DESDE
gente_massachusetts
DONDE
color_pelo = «rojo»
Y
fecha_nacimiento ENTRE ‘2003-01-01’ Y ‘2003-12-31’
ORDENAR POR
apellido
LÍMITE
100
;

¡Eso es todo por lo básico!

¿Sentirse bien? Aquí hay algunas otras formas de llevar sus consultas SQL a un nivel superior.

Bonificación: Consejos avanzados de SQL

Ahora que domina cómo crear una consulta SQL, veamos algunos otros trucos que puede usar para mejorar, comenzando con el asterisco.

*

Cuando agrega un asterisco a una de sus consultas SQL, le dice a la consulta que desea incluir todas las columnas de datos en sus resultados. En el ejemplo que hemos estado usando, solo hemos tenido dos nombres de columna: nombre y apellido. Pero digamos que tenemos 15 columnas de datos que queremos ver en nuestros resultados; sería un poco molesto escribir los 15 nombres de columna en la instrucción SELECT. En cambio, si reemplaza los nombres de esas columnas con un asterisco, la consulta sabrá extraer todas las columnas en los resultados.

Así es como se vería la consulta SQL:

SELECCIONE
*
DESDE
gente_massachusetts
DONDE
color_pelo = «rojo»
Y
fecha_nacimiento ENTRE ‘2003-01-01’ Y ‘2003-12-31’
ORDENAR POR
apellido
LÍMITE
100
;

ÚLTIMOS 30 DÍAS

Una vez que comencé a usar SQL con regularidad, descubrí que una de mis consultas principales consistía en tratar de encontrar qué personas realizaron una acción o cumplieron con un determinado conjunto de criterios en los últimos 30 días. Dado que este tipo de consulta fue tan útil para mí, quería compartir esa capacidad con usted.

Supongamos que hoy es el 1 de diciembre de 2014. Usted pudo cree estos parámetros haciendo que la fecha de nacimiento abarque entre el 1 de noviembre de 2014 y el 30 de noviembre de 2014. Esa consulta SQL se vería así:

SELECCIONE
primer nombre,
apellido
DESDE
gente_massachusetts
DONDE
color_pelo = «rojo»
Y
fecha_nacimiento ENTRE ‘2014-11-01’ Y ‘2014-11-30’
ORDENAR POR
apellido
LÍMITE
100
;

Pero eso requeriría pensar en qué fechas cubren los últimos 30 días, y significaría que tendrías…