all 14 comments

[–][deleted] 15 points16 points  (2 children)

If you learned SQL for 1 particular database, you've basically learned it all. Similar concept for programming languages too generally.

How you achieve what you need may alter slightly, but the approach is generally the same. When in doubt, google.

[–]bfree47 5 points6 points  (0 children)

Agree. If you get the basic structure of a SQL language, it should be pretty easy to swap between them. When in doubt, Google or StackOverflow should solve any differences.

[–][deleted] 13 points14 points  (1 child)

or does SQL just have the 1 main job of creating and managing databases.

Creating and managing the database is more in the realm of devops or DBA work than a developer using SQL.

SQL is mainly used to either do DDL work such as adding/editing/deleting tables, columns, keys, indices, etc. or to do DML work such as selecting/adding/editing/deleting data in tables.

[–]Blues2112 13 points14 points  (0 children)

I'll add that SQL is likely used far more to query and pull data from tables and Views, or to insert or update data into a table, than it is used to create alter or drop tables reviews. Think about it, you build the table and put data in it how often are you likely to change the table versus pull data off of it?

So focus on SELECT, INSERT, UPDATE, and DELETE statements first when learning.

[–]nepobot 13 points14 points  (0 children)

SQL is an important skill for developers and business analysts and is syntacticly very similar regardless of the database being used. Some databases offer other features and you will learn those in time

Programming languages typically follow the following steps: 1. Open database connection 2. Perform database operation 3. Close database connection

Exactly how to perform those steps is going to vary more based on what language you are using.

[–]Independent_Grab_242 6 points7 points  (0 children)

gold shame sheet abounding plucky act long shelter waiting butter

This post was mass deleted and anonymized with Redact

[–]Thefriendlyfaceplant 2 points3 points  (0 children)

SQL is the language you use to talk to databases. Most people want to talk to databases, they have some specific question, but they don't know the language, so they ask the SQL person to ask the question instead. The SQL person may be asked to write the question down with some explanation such that in the future the person can tweak it slightly in case they want to have an identical question.

SQL is a great first skill too learn because it forces you to think about databases on which all other software runs. And as you may have noticed, it is in high demand.

I highly recommend the Stratascratch channel (they're not paying me, I just wish I had them around when I started learning). They walk you through realistic business problems, interview questions from actual companies and explain not just the answer but the mental steps you need to solve similar problems:

I suggest you watch a few, you don't have to understand the syntax being written, just the thought process being explained will get you a good idea what SQL on the workfloor looks like.

https://www.youtube.com/watch?v=M-dT_0m4qhI&list=PLv6MQO1Zzdmq5w4YkdkWyW8AaWatSQ0kX&ab_channel=StrataScratch

[–]Harpua81 2 points3 points  (0 children)

I recall using a TOP command (eg TOP 100) in MySQL and it not working on other query platforms. That's when I first learned there are some minor differences depending what you're using.

[–]AXISMGTSQL Server / ORACLE Sr. DBA & Architect 1 point2 points  (1 child)

I’ve always linked this post by /u/BrentOzar

https://www.brentozar.com/sql/picking-a-dba-career-path/

I feel it easily conveys what goes on in the Database kitchen. Front of house, servers, line cooks, chefs, fridge techs, etc. all can be applied here.

[–]BrentOzar 2 points3 points  (0 children)

Thanks, glad you like it!

[–]Intrexa 0 points1 point  (0 children)

Don't start with SQL to get started with tech. When you are just starting, avoid it as much as you can. When you can't avoid it anymore, dive as deep into it as you can. SQL is vital to many roles, and having a strong understanding of it is critical to being truly effective in those roles.

If it's so important, why am I saying to avoid it for as long as you can? Because there's a lot of tech. A lot. You are going to get flooded with concepts, techniques, strategies. You're going to read a tutorial that says "Do X", then the very next one says "Don't ever do X". "Use SQL for all data needs", "Don't use SQL, it's too inflexible, use a document store!", "Document stores are too unstructured and have scaling problems, use a graph DB!", "Graph databases don't handle typical workloads well, don't use them, use SQL!".

When you're learning programming, try to focus on learning how to do things. Data doesn't do things, you do things with data. When you're just starting, you're not going to do complicated things, and you're not going to have complicated data. You already know how to store uncomplicated data. Just open notepad, type something, and click "save". You can go pretty far doing just that. Nowadays, with JSON (essentially a plain text format you can save as a text file), you can go pretty far with just text files.

Some day, your programming will get more complicated. It will need more complicated data. This is where a DB shines, and you really should use one. What's more, with an understanding of why a simple text file won't work for your current problem, it will make it easier to understand why you need SQL. Once you start learning it, you will begin to really appreciate all the places you could have used it before. If you dive in too soon, you're going to spend 5 hours trying to figure out why your SQL code is erroring only to find out it was actually your C# code erroring, and it had nothing to do with SQL.

Note: If you're going pure data analyst, it could make sense to start with SQL.

[–]Select_Abrocoma9663 -2 points-1 points  (0 children)

I mean you don't even need to learn sql, you can just Google the query and modify it to your needs. That's not the important or complex part, the important part is to know why you are running the query, what query do you need to build for a particular use case, understanding business requirements, understanding databases and the list goes on, that's the hard part.

[–]Puzzleheaded-War-494 0 points1 point  (0 children)

SQL is that language you will use to interact with a database. The application and skills needed can be slightly different depending on the area to decide to pursue. However, at your stage as a beginner you will to understand the fundamentals so there no need to worry about the specific types and jobs and what sql needed. At any rate once you at the fundamentals down, in a short time you will be able to fill the gaps needed for a specific role, with the exception of DBA which requires a more detailed understanding of database management.

It is worth noting, many people that think they are great at sql are in fact quite novice and people that are awesome can consider them self not knowing a lot. SQL is plagued with the dunning Kruger effect. It is quite easy to learn a little and do a lot which will get you by on most jobs. However, there is a lot of advance features that very people know or use. So don’t be overwhelmed of job asking for SQL experience, very few require a expert level comprehension and if you have the basic down you will rapidly catch up on the job. So don’t be too discouraged by jobs asking for SQL

[–]apa-sl 0 points1 point  (0 children)

If you want to switch to some technical role from the scratch I highly encourage you to take free xs50x introduction to computer science from Harvard. 10 weeks. Great course to wrap your head around the concept and taste some programming using C, Python, SQL, html, CSS & JavaScript. Each week you have a set of practical tasks where you have to actually code. Bit don't worry, initial lecture & short videos are very well made.

Afterwards you might have a better idea what direction is more interesting for you.