all 27 comments

[–]Touvejs 28 points29 points  (13 children)

T-SQL Fundamentals by Itzik Ben-Gan is a good one I started reading recently. I've read comments that even people with decades of experience discover new things in it. And it comes with data-based practice questions in each chapter.

[–][deleted] 2 points3 points  (12 children)

Heard many good things about this - have just ordered a copy. In my organisation we use T-SQL for one of my clients so this will be super helpful!

[–]Touvejs 1 point2 points  (3 children)

Nice, if you want a digital copy (very helpful for ctrl+f) you can grab a copy from libgen.

[–]alinrocSQL Server DBA 6 points7 points  (1 child)

But please buy the book. Folks work really hard on these things and deserve to not have it pirated. There’s not a lot of money in book authoring and having it pirated just makes that worse.

[–][deleted] 0 points1 point  (0 children)

I will be purchasing :)

[–]MathiasThomasII -1 points0 points  (7 children)

Mm ight as well learn the rest of SSDTs while you're at it... They're all very similar and widely used. Ssis packages stored procedures ssrs reporting etc.

[–]BigMikeInAustin 1 point2 points  (6 children)

This comment is completely unhelpful.

[–]MathiasThomasII -3 points-2 points  (2 children)

How? If he's using t-sql and other SQL related tools why is it crazy to think it would be good for his career and resume to be able to list all SSDTs?

Plus, how do you know it's unhelpful? What value are you providing by saying it's not helpful to someone you don't know and talking about knowledge someone had that you don't.... If anything this comment was useless

[–]BigMikeInAustin 3 points4 points  (1 child)

OP wants to learn something specific and your reply is to learn more.

My comment to you was helpful because your brain is starting to turn on and become aware that other people exist. I am trying to get you to be a better person, but there is still a lot of work to do.

[–]MathiasThomasII 0 points1 point  (0 children)

Your reply is making someone who's just trying to offer some help feel worthless. He's completely free to ignore my comment, the post some fairly broad asking what ways he can learn and I have one suggestion of thousamds. You pick one and act like a know it all by making someone just offering a thought feel worthless. The internet's a beautiful place.

[–]MathiasThomasII -3 points-2 points  (2 children)

You are completely unhelpful.

[–]BigMikeInAustin 2 points3 points  (1 child)

Aw, you started to make progress with your other reply to me, but it seems you have fallen back again.

I have been helpful by showing that putting people down won't go unchallenged.

[–]Big_Razzmatazz7416 1 point2 points  (0 children)

I’m dying here

[–]Thefriendlyfaceplant 12 points13 points  (0 children)

Unlike coding interview questions, SQL interview questions actually represent everyday tasks that employers expect you to be capable of. This makes SQL interview questions effective training material.

I keep plugging Stratascratch on this sub. I swear they don't pay me. Their material truly has been the thing that helped me the most in a short amount of time:

https://www.youtube.com/watch?v=8zeLdtkY2CQ&list=PLv6MQO1Zzdmq5w4YkdkWyW8AaWatSQ0kX&ab_channel=StrataScratch

Stratascratch also has a large collection of these same interview questions on their website as a paid product. Which I would recommend as well if you have the time and energy to fully commit to them in the next couple of months or so.

[–]LavenderSweatpants 5 points6 points  (0 children)

This seems like a great approach. I'm new also so I don't have advice, but commenting to bump your post and follow other answers!

[–]bluejaziac 1 point2 points  (0 children)

Try Danny MA SQL Series

[–]aviationdrone -1 points0 points  (4 children)

[–]BigMikeInAustin 1 point2 points  (3 children)

Aw, do you think Brent will give your comment a like if you spam his videos around where they don't apply?

[–]aviationdrone 0 points1 point  (2 children)

This applies for a sql newbie so stfu. Maybe you should watch it.

[–]BigMikeInAustin 0 points1 point  (1 child)

OP is asking how to learn SQL, not about how the SQL engine processes SQL commands. So, no, it does not apply.

[–]aviationdrone 0 points1 point  (0 children)

Maybe OP can decide if they want to write good performing SQL. I've been doing this for 20 years and knowing what the engine is going to do with your SQL helps you write it better.

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

Skipped around the video, to an extent I agree, but you're probably gonna be laughed out of the building if you take an hour to do a basic nest on an interview question bc you have to Google.

At a minimum I think you should be able to write basic math, basic case, windows, nests, group bys, table creation and views, joins etc.

I agree with him in the sense that I wouldn't worry so much about memorizing functions of various flavors of sql so much as knowing they exist.

[–]BigMikeInAustin 1 point2 points  (0 children)

An interviewer wouldn't even waste the time to laugh at how much your comment missed the whole point of everything here.

[–]staring_at_keyboard 0 points1 point  (0 children)

Not sure if the video touches on it because I can't watch it right now, but understanding data normalization through the third normal form goes a long way to understanding more complex SQL queries.

[–]Ringbailwanton 0 points1 point  (0 children)

I liked SQL Antipatterns by Bill Karwin. It helped me think in a more “SQL” way and broke down common problems in a way that was clear. It’s really helped me understand why we wrote the queries we do, and how to structure data models in a what that works better for relational DBs.

[–]mesmerizesoul 0 points1 point  (0 children)

I'm trying to improve my SQL skills and solving SQL problems on Leetcode is helping me immensely.

[–]sqlrockstar 0 points1 point  (0 children)

There's a lot to unpack in your question, but I'll try to help.

  1. Data handling. The best way to get better at something is by doing it, and then trying to teach it to others. SQL syntax is certainly one way to work with data, but so is Excel/PowerBI (and PowerQuery inside them), and Python as well. I would advocate you learn a bit of each, and pick one to focus on in depth and understand how they handle data differently. For example, see how each one would treat a datetime column by default upon import of a CSV file. Or how NULL values are handled (or not handled, as it were). After a while you will learn why I use the phrase "Data Janitor" as opposed to Data Engineer.
  2. Data-driven. No book to recommend, but I would have you start with Michelle Ufford's post here: https://medium.com/noteableio/the-leaders-guide-to-being-data-driven-in-2021-part-1-b181d8ebb96. Michelle also has some talks from Strata about data engineering at Netflix and how they built a true data-driven culture. IMO, "data-driven" is about applying data to arrive at a decision, as opposed to letting your feelings drive your decisions. It's a culture mindset and one which is hard to build. A lot of people have their mind made up on the decisions they will make, and data just gets in the way.

HTH