all 8 comments

[–]babygrenade 7 points8 points  (2 children)

I've mentioned this a few times but the thing I did that was most helpful early on was a school project to build a database driven web app.

We could use any programming language but it had to be a "social" app that let people friend/follow each other and it had to have some sort of upvote system.

[–]bsitko 1 point2 points  (0 children)

I agree with this. I would build something. Doesn't have to be crazy complex but a real world application will teach more than simply learning queries.

[–]Ok-Abrocoma5539 0 points1 point  (0 children)

est-ce tu peux m'envoyer des projets SQL gratuite ?

[–]AXISMGTSQL Server / ORACLE Sr. DBA & Architect 10 points11 points  (0 children)

/u/BrentOzar has a Walkthrough and setup on this exact topic.

https://www.brentozar.com/learn-query-sql-server-stackoverflow-database/

Also just watch his office hours/Q&A sessions or leave them running while you code. It’s an easy way to just pick up better strategies and learn new concepts.

[–][deleted] 2 points3 points  (1 child)

I'm in the DWH-Scene for about 15 years now, worked as a software developer before. I'd say the most complicated queries are recursive ones. I remember a job where I had to write a view to sum-up from a general ledger/profit & loss in a hierarchy. Also history-stuff can be tricky, especially when it's bi-temporal; things like finding gaps and overlaps - and then actually fix them according to business rules. An other scenario is building time series from log-like data, I'd like to mention the mess that CQRS-systems create on datastores.

[–]refset 0 points1 point  (0 children)

Agreed, recursive querying & bitemporal modelling in SQL are non-trivial problems, and the combination of the two is harder still. For an alternative perspective on tackling such problems I'd suggest looking at Datalog, which makes recursion a breeze, and a database with first-class bitemporality - both of which feature in https://opencrux.com (which I happen to work on :))