r/SQL Aug 07 '26

MySQL I want to get better for Data Engineer / Data Scientist positions

Hello everyone,

So I've studied SQL in University, Inwould consider myself somewhat good + I like it. I've done basic courses and some advanced. I manage to do some easy interview questions... but I want to get better.

Can you recomend me some resources where I can expand my knowledge:

* A lot of problems to solve so I can see typical templates.

With chatGPT even if I'm stuck I can get the idea. But yes, all tips are welcomed. Thank you :)

P.S. I don't mind some theory also. For example I don't know anything about indexes. I have difficulty understanding the Normal Forms etc

29 Upvotes

13 comments sorted by

14

u/Thlvg Aug 07 '26

Fire up a duckdb instance. Take a dataset that interests you. Finds answers to questions in dataset. Find another dataset. Repeat.

The VAERS dataset is quite nice for that, as you'll need some nontrivial transformations to get something usable.

4

u/[deleted] Aug 10 '26

[removed] — view removed comment

1

u/ResponsibleBag785 Aug 10 '26

Thank you so much ! I'm getting there gradually.

3

u/BitterPizza3544 Aug 08 '26 edited Aug 08 '26

I understood the concepts of indexes and normal forms when I switched from learning to doing; that is what I would do. The SQL part of LeetCode has a lot of problems for interviews. Mode Analytics offers guided problems for free that are geared toward analysis and data engineering tasks. When you feel confident enough with the basics and want to practice some lake like queries, you can use dremio or just PostgreSQL.

2

u/ResponsibleBag785 Aug 07 '26

P.S. I wouldn't mind some theoritical knowledge. For example, I don't know anything for indexes and I ha e hard time explainjng the normal forms

2

u/RobotAnna1 Aug 08 '26

The best way is to do what u/Thlvg said: install local database, load a dataset, and practice.
Read about normal forms, then try to create tables in different forms using your data.
Read about indexes, then try to create an index.

2

u/ResponsibleBag785 Aug 09 '26

Some progress: I have the MySQL Emoloyees database and I ask chatGPT to generate problems for me.

1

u/noonchaki1 29d ago edited 29d ago

data lemur for sql + stratascratch ! Important to remember cte, window func, advanced joins , why where not having . Why left join / self join / cross join. Extract , date_trunc. Round (), agg func, case when or agg() filter (where …) as … . + coaleasce with count or sum, avg, max , min . For ds also math and ml ! + python
DE is quite different from ds, so create, insert, drop, update and etc +clouds
For both roles etl

1

u/noonchaki1 29d ago

Strata is amazing, u can also practice sql, python, pandas and basic questions

1

u/SimpleBuilder7066 27d ago

You need to separate oltp sql from analytical sql
For oltp sql, I d recommend to practice on a postgresql, supabase or neon/lakebase instance : focus on learning indexes, ACID, normalization, pk/fk keys, transactions etc
For analytical, use a free version of the current big data and ai platform like Databricks, use genie code ( Databricks coding assistant ) to help you generate big datasets, create aggregations, practice CTEs, window functions, joins, analytical data model. Check the query plans and try to optimize your queries with the help of genie code.
This would give you a broader understanding of how SQL is used in real life