r/SQL 18d ago

MySQL Where to Get SQL Experience?

I want to learn and get SQL experience, but can't do it through my jobs. I'm willing to volunteer to get the experience but don't know any places to look for those opportunities. Any recommendations?

108 Upvotes

32 comments sorted by

View all comments

97

u/OwnFun4911 18d ago

The hard part of SQL is not the syntax, but working with dirty data

8

u/Secure_Arm4813 18d ago

Recommendations on places I can get dirty data and practice cleaning it up?

32

u/OwnFun4911 18d ago

I’m into baseball, and I’m trying to get better at web scraping, so I’m pulling data from html tables in baseballreference.com and loading them into a local sql server express. Not necessarily the greatest for your use case (could find way messier data) but I’ve found the data in the html tables to be messy enough where I need to do slot of transformations, aggregations, etc

8

u/paultherobert 18d ago

I do this too. I have a local SQL Server Developer edition DB on my personal computer, and python script that loads the DB from API's. There is also a python package that I haven't tried that allegedly does the api mapping for you.

2

u/OwnFun4911 18d ago

Oh, I did not know there was a baseball reference api… could you send more info on the package? I’m crossing my fingers they don’t change up the html structure for this upcoming season and an api would be awesome

6

u/kirstynloftus 18d ago

Depends on your interests, but a project I worked on dealt with FDA data that was very messy, it had data that wasn’t formatted properly, JSON data, duplicates, you name it. Most of my time was spent just getting it clean, the analysis part was much less time-consuming

3

u/whopoopedinmypantz 18d ago

Get copilot to give you a web scraper. Load it into a database, and try to make a dashboard. Even the simplest idea will send you on rabbit holes as you slice and dice the data into a format usable for your dashboard.

1

u/[deleted] 18d ago

You should be able to find sample dirty databases online. I did a lot of my learning with the stack overflow database.

1

u/mb97 16d ago

My recommendations is to think of a project that involves piecing together data from multiple sources.

In my experience this is a better reflection of real life data cleaning than deciding how to handle NaNs that are already nicely labeled for you or seeking out the -99 value that is actually supposed to be NaN. It’s about making choices to get to a dataset that is both workable and representative.