Aprender SQL desde cero.

T

Buenas tardes shures!

Como comento en el título del post me gustaría comenzar a aprender SQL desde cero, pero sinceramente es algo que desconozco totalmente y no sé muy bien por dónde empezar. Os comento brevemente mi situación y lo que me gustaría obtener para ver si me podéis echar un cable.

Actualmente trabajo como Controller Financiero y me gustaría aprender SQL para poder realizar otro tipo de análisis y sobre todo, tener mayor facilidad a la hora de elaborar informes y obtener datos del ERP (SAGE). Actualmente cuando necesitamos algún informe un poco más específico acudimos a un informático externo que nos realiza las consultas y nos monta el Excel en cuestión.

Mi principal finalidad sería aprender a montar consultas dónde poder obtener cierta información. Un ejemplo podría ser este:

Obtener las ventas por comercial y zona geográfica, y compararlo contra los objetivos fijados en presupuesto.

No sé si montar este tipo de consultas puede resultar muy difícil. Ahora mismo tengo acceso a la BBDD de la empresa y tenemos unas 3.500 tablas (algunas sin información). Entiendo que montar una consulta es 'indicar que información de cada tabla quieres que te muestre dicha consulta' (no sé si estoy equivocado).

No me importa tener que pagar por el curso, siempre y cuando merezca la pena y sea bueno (si hay gratis pues mejor).
Intuyo que no preciso unos conocimientos demasiados profundos de SQL para hacer lo que necesito (lo desconozco), por lo que tampoco pretendo convertirme en un gran programador de SQL, si no más bien tener unas conocimientos prácticos buenos, aunque no descarto seguir formándome en el futuro.

En Enero acabo otras formaciones que estoy haciendo y me gustaría ponerme en serio con SQL y PowerBI que son dos herramientas que creo que me aportarán mucho profesionalmente y además me pueden permitir dar un salto salarial dentro de mi empresa.

¿Alguna sugerencia?

Renardo

https://www.w3schools.com/sql/

2
Soltrac

Tu problema no es aprender SQL, en el fondo tu problema va a ser saber de que tablas tienes que sacar la información....son 3500 tablas xD

3
-Yepeto-

Seguro que son 3500 tablas? Si es así, deja que lo haga el externo y que se suicide el.

Si aún así quieres aprender SQL, buscando en Google "Learn SQL" seguro que aparecen webs con buen contenido, si no, tienes Udemy, Coursera, Udacity (cara pero creo que los cursos son buenos) o cualquier universidad.

Kaledros
#1totenwoken:

me gustaría ponerme en serio con SQL y PowerBI que son dos herramientas que creo que me aportarán mucho profesionalmente

Creo que la clave de tu mensaje es esta.

Si quieres hacer tú las consultas que está haciendo el externo, en tres/cuatro meses de darle duro las puedes hacer tú sin problemas. Si lo que quieres es mejorar profesionalmente y ampliar tus skills hacia el análisis de datos, BI y demás, es una cosa completamente diferente aunque tenga partes en común.

Pero vamos, yo por un select que te puede montar un externo en dos patás no me complicaría la vida.

Krules

3500 tablas? XD

1
1 mes después
_0-0_

Yo te recomendaría como inicio este video, a mi los tutoriales que tiene este tío, me han ayudado mucho

werty

yo solo he aprendido teniendo una base de datos de la que quiero hacer consultas y poco a poco ir de lo sencillo a lo complejo.
Cuando no sepo algo, google (inglés claro)

juss1

3500 tablas y sin documentacion, algo no cuadra ahi

eXtreM3

En mi empresa usamos Sage y no tiene ese número de tablas. Son unas 200-250 como mucho.

Hay mucha tabla catálogo y muchas tablas intermedias (las que usa Sage para preprocesar info y luego volcarla a la tabla buena), pero en cuanto reconoces qué tabla guarda qué información, no se tarda mucho en hacer la consulta.

Y no, no necesitas conocimientos avanzados-expertos de SQL para hacer lo que quieres.

M

Lo primero que yo haría sería sacar el modelo de la base de datos (o de las tablas que te interesan) para tener clara la relación entre tablas. Es lo más cómodo y visual cuando estás empezando. A partir de ahí ir realizando los join entre tablas para sacar la información que necesitas. Como te han dicho más arriba, w3schools es tu mejor aliada, tanto para practicar como para aprender.

Starshow

Te animo a que aprendas SQL y Power Bi, ya que para tu sector creo que es un win-win de manual, alguien con conocimiento del negocio que haga analíticas de datos de alto nivel y reportes top es tener un valor añadido.

Viendo ahora el enfoque que quieres darle, es importante que ganes buenas practicas como la creación de índices para consultas pesadas, ser fino con los join/where para no generar planes de ejecución que afecten al rendimiento de la instancia de base de datos, etc... Una buena practica si vas a bombardear la base de datos diariamente: preparar una réplica ( SQL Replication o SQL Server Always On ), o a la nube con Azure SQL Databases por ejemplo, para poder operar sobre la base de datos sin afectar al rendimiento de la primary database.

Para finalizar, yo te recomendaría de cara a tu proyecto preparar un entorno bajo ( SQL Server Developer edition o una Azure SQL database S0 Basic ) con un backup de tu base de datos, preparar todo ahi (consultas, vistas, indices, etc.. ) y luego a prod con un plan de rollback siempre ( backup y scripts de drop de lo que hayas creado ), que luego vienen los lloros y tener claro que, puedes modelar el dato en Power BI a golpe de DAX, con que no tienes que echarle todo el peso a tus vistas/storedprocedure/tablas, puedes realizar toda la transformacion de datos en Power Bi, siempre con la idea de no afectar a la base de datos primaria.

Cualquier cosa me mandas un MD, del ecosistema de SQL de Microsoft ( Cloud y On-Premise ) tengo mucha experiencia y es a lo que me dedico, con que te puedo orientar en algun tema en particular.

Un abrazaco y suerte!

desu

Te recomiendo:

https://www.hackerrank.com/domains/sql

Yo de vez en cuando si tengo una entrevista repaso un poco las queries basicas.

Usuarios habituales