Translate

Mostrando entradas con la etiqueta sql python. Mostrar todas las entradas
Mostrando entradas con la etiqueta sql python. Mostrar todas las entradas

sábado, 5 de mayo de 2018

Cómo se ejecuta una query en SQL

Para seguir poniéndome al día y no olvidar el coding, estoy haciendo unos cursos a modo de repaso. Además, siempre se aprende alguna libreria o alguna forma nueva de hacer algo que siempre hacemos de una forma más optimizada.

En este caso estoy repasando SQL para business y he recordado un concepto que me costó pillar al principio. Así que aquí queda por si alguien empieza en SQL y se encuentra con ello.

Una vez que ya sabemos lo básico de SQL con una tabla, y se te pasa por la cabeza que qué fácil y lógico es esto

SELECT  //Dame esto
FROM     // De esta tabla
WHERE // donde ocurre esto (tal es igual, mayor, menor que ...)

llega el momento JOIN. Aquí vamos a tener dos tablas o más.

Como en SQL estamos trabajando en un modo tabular (es decir, trabajamos con formato tablas de filas y columnas) vamos a necesitar una misma columna para juntar (JOIN) las tablas. Esto es muy parecido al VLookUp de toda la vida de Excel (en castellano Buscarv)

Por lo tanto necesitamos saber en que tablas están las columnas que queremos. Así que en el ON vamos a poner el nombre de las columnas como referencia. Si la base de datos está bien hecha (es decir bien disennada, es que no tengo ennes en el teclado) la columna que vamos a usar para unirla se llamará igual en ambas tablas. A esta columna se le llama primary key, pero eso es otra historia...
 Total, que en todos los ejercicios que hagas esto será de cajón. Sin embargo, en el día a día en el trabajo te puedes encontrar cualquier cosa y las columnas no se llamen así. Si te encuentras con el caso siempre pregunta por un data dictionary, sería lo primero que deberías pedir. Sin embargo, parece que nadie los necesita ( en realidad quiero decir usa´)

Así que vamos a tener un

FROM // De esta tabla
JOIN // Juntamos  con esta otra tabla
ON // las columnas que nos sirven para juntar porque son las mismas

Antes de nuestro JOIN
nos vamos a encontrar la segunda tabla. El orden de las tablas es importante porque hay diferentes tipos de JOINs y eso va a influenciar también. Esto también es otra historia... Y justo detrás del ON vamos a poner las columnas que son iguales en ambas tablas. Como estamos juntando dos tablas que pueden tener el mismo nombre de columnas (ideally) o no, debemos poner el nomber de la tabla antes de la columna. Por lo tanto
meals(tabla) . meal.id(columna)

OK; Vamos allá,
SELECT price, quantity-order
  FROM meals
  JOIN orders ON meals.meal_id = orders.meal_id
WHERE user_id = 10;
Ahora tenemos todas las columnas a nuestra disposición.
Pero wait a minute, si yo selecciono precio y order de la primera tabla y esa columna está en la segunda tabla  (la que va después del JOIN). Cómo puede ser que no necesite poner como sintaxis order.quantity-order ?

* En realidad puedes ponerlo pero eso significa dar más complejidad y ensuciar la Query. El tema aquí es que la query va a ser leída como un todo, no de forma secuencial. Así que primero se ejecutará el FROM y el JOIN y de forma recursiva se irá ejecutando las demás partes de la query.

Y esta fue mi cara tras una semana revisando oráculos intentando encontrar la respuesta y acabar leyendola en una cheatsheet


via GIPHY

En qué orden se ejecuta una query en SQL

Yendo por partes, cómo se va a ejecutar esto.


  1. PRIMERO se ejecuta FROM-JOIN
  2. Después WHERE
  3. Más tarde todo lo que hay debajo del WHERE como GROUP BY y HAVING
  4. Finalmente SELECT
  5. En quinto lugar tenemos el disctinct (dónde), order by y limit/offset que en realidad es una forma de formatear la query que queremos una vez que tenemos los datos.
Logicamente todo puede ser más complicado con subqueries pero las subqueries serán ejecutadas en

Dónde se sejecuta una subquery en SQL 


  • SELECT
  • FROM
  • WHERE


Y esta fue la cara con la que el manual me miró. Bueno, de forma figurada claro.


via GIPHY


domingo, 13 de diciembre de 2015

Año nuevo - cursos nuevos

Hola gente anónima que pulula por Internet

He decidido retomar el blog con la idea de automotivarme (ese era el fin de este blog...)  con los nuevos cursos que me he apuntado y aunque en principio iban a ser un par, bueno, creo que me he pasado un poco. El saber no ocupa lugar, pero si mucho tiempo.

Por ello me he tomado mes y medio para ponerme al día en todo lo nuevo relativo al análisis digital antes de seguir con mi carrera profesional con la ideas de equiparme con nuevas herramientas que poder aplicar a mi trabajo.

Objetivo principal:

Aprender nuevas herramientas, buenas prácticas y métodos data-driven que aplicar al Digital Marketing/Business hasta el 15 de Febrero.

Objetivos específicos:

1.Conseguir certificados que sean reconocibles a nivel internacional
2.Aprender metodología (frameworks) para poder aplicar al análisis de datos en Marketing/Ecommerce.
3Realizar análisis estadísticos con lenguajes de programación específicos del análisis de datos.
4.Aprender nuevas formas de poder comunicar los insights que encuentro a personas que no saben sobre datos/estadísticas.


1. Conseguir certificados que sean reconocible a nivel Internacional

Motivación: Uno de los problemas que supongo que como yo tienen las personas que llevan tiempo trabajando en todo lo relacionado con lo digital ,es que ningún plan de estudios de posgrado realmente satisface los intereses y el coste (económico/de tiempo)-beneficio. Muchos de estos programas no cumple las expectativas a nivel de formación- contenido práctico y casos de usos. Ello, unido a que  la información que se da en estos,se va quedando anticuada de un año para otro y que luego en según que empresa trabajan con unos programas u otros hace muy difícil que me decida por ninguno de ellos.


- Conseguir la Google Adwords Individual Certification
Llevo trabajando con Adwords al menos dos años, no debería ser muy dificil
DONE -> https://www.google.com/partners/?q=google%20partners#i_profile;idtf=102341943869267004654;
- Renovar Google Analytics Individual Certification
Me caducó en Agosto, pero no se lo digáis a nadie.

- Conseguir al menos un certificado de Market Motive.
Market Motive es una plataforma de aprendizaje cuyo cofundador es Avisnash Kaushik, uno de los cerebro de la analítica web en el mundo. Junto a otras cabezas pensantes de otras disciplinas ha creado esta plataforma. Sin duda, aprobar alguno de exámenes de sus materias va a tener mérito.


Métricas:
Certificado Adwords: APROBADO (Hurrah!)
Certificado Analytics
Certificado Market Motive


2.Aprender metodología (frameworks) para poder aplicar al análisis de datos cuantitativo en Marketing/Ecommerce.

Para ello estoy inscrita en varios de Marketing Analítico. Los que están en verde son los que cumplen con este fin
CURSOSPRIORIZATIONSTARTINGDEADLINEPLATFORMUNI
Customer Analytics104/01/201615/02/2016CourseraWharton
Using Databases with Python311/01/201622/02/2016CourseraMichigan
Data Visualization and Communication with Tableau211/01/201622/02/2016CourseraDuke
Data Analysis Tools611/01/201615/02/2016CourseraWesleyana
Econometrics425/01/201624/03/2016CourseraRotterdam
Marketing analysis525/01/201625/03/2016CourseraESSES
A/B testing7 17/01/2016UdacityGoogle
Métricas:
Obtener certificado

3. Realizar análisis estadísticos con lenguajes de programación específicos

Esta pregunta está relacionado con lo anterior, pero los cursos que más focalizan en el uso de programas son los que están en naranja.

Hace ya un tiempo que empecé a usar R para algunas tareas muy específicas, pero a la hora de usarlo con todo su potencial aplicado a  tengo siempre que depender de que alguien haya hecho un repositorio. Muchas empresas hacen mucho más fácil utilizar la API por medio de Python. Por otra parte tengo que repasar SQL, que es un lenguaje que estudié en DAI

Luego tenemos SAS y SPSS, ambos software propietario.SAS no se puede utilizar sin licencia. He sido usuaria de SPSS durante toda la carrera y posteriromente analizando encuestas de satisfacción y no tengo problemas en usar los estadísticos mas básicos y la matriz.

Así que como mucho otr@s me pregunto ¿R o Python? Si tú también te lo preguntasAquí una infografía muy apañada
Bueno, parece que en principio los dos, ya que los cursos marcan que lenguajes habría que usar.
Métricas:
Obtener certificados

4.Aprender nuevas formas de poder comunicar los insights que encuentro a personas que no saben sobre datos/estadísticas.

Cuando trabajaba haciendo reporting, una de las preguntas que nos hacíamos a primero de mes, tras ir a contra reloj actualizando los reports era: ¿miran realmente los clientes los datos o solamente se dedican a mirar los rankings en SEO y el dinero gastado? Más tarde yo misma he sufrido por parte de la directiva de la empresa el sentimiento de"¿De verdad nadie ve la tendencia? Sí está ahí en la tabla!"Y me costó ir de tablas muy específicas, a menos específicas; de ahí a gráficos completos; más tarde a gráficos de barras... Bueno, hay que comunicarse con todos los stakeholder así que un curso de tableau, que ya había usado anteriormente, me viene al pelo.
Métricas:
Obtener certificado


Así que una vez todo sumarizado: 
HERE WE GO.