Why do I need to learn SQL anyway?

Jimmy Sinjaradze
5 min readJul 26, 2022

--

When you are starting your programming career, or you want to learn a thing or two most probably you will come up with the word “SQL” in your learning journey and I can guarantee that you will be very confused when you first hear the definition.

So what’s the official definition?

Structured query language is a domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS)

That’s all, Everything is clear now right? have fun on your journey :).

Just kidding…

The problem with the definition above is it is very formal, yes it is technically correct but, a person who has just started learning the computer programming fundamentals and maybe has written a few HTML pages, will not be able to understand a word in those sentences. Even if someone tries to break it down into words, he will still struggle along the way.

Here is a quite productive trick: when you don’t understand what something is, or can’t grasp a concept, try to understand the need, and the reason it has become existent. so for the next few minutes, I’ll try to explain what gave people motivation to create SQL.

So now let’s talk about databases, you might encounter a lot of variations of a database, here is my favorite one :

What’s that you ask? — Piece of paper, I reply

Are you out of your mind you ask? — I sure am Sir, but that does not change the fact that you don’t understand SQL, hahaha, so let’s keep reading.

Really if you think about it, all you need is a piece of paper and a pen/pencil, and Whoalaa! you have your database. The cool thing is you can structure your database as you would like, you can write down anything that comes up to your mind, or you can even draw sketches, or …(you know how it goes) but we gotta be honest, If you want your database to be useful you gotta write down important information. If you were a business, the names of your favorite candies won’t be very useful, instead, this important information might include, the contact information of your business partners, delivery schedule of your suppliers, Huge list of your users (including names, lastnames, phones, emails, etc…)

In any case, Here is the list of my favorite candies: Kinder Bueno, Schoko bons, and Roshen milk bubble chocolate… (make sure to save them in your database as well in case I lose them)

Okay back to the topic, there really has been a time when companies were using papers as a database, more precisely a collection of papers. but imagine you are a business owner, and you track information about your users (that’s ok everyone does that), time goes by and you become surprisingly successful, your company becomes new amazon, or amazon 2… and now you have millions of users! Can you imagine what your database would look like?

this might be only a small part of your database, but this is not the worst part, Imagine a scenario when you have to search for a specific entry! the process might take weeks.

I don’t know about you, but I would leave the company!

To finalize a paper as a database sucks(don’t get angry it’s still very sophisticated to save a list of our favorite candies)! as companies grow, it becomes harder to manage and at some point it becomes unmanageable. so we need another way of storing data right? anything that comes to your mind? can we help the company?

— you are right here where we use SQL.

Actually, there are a lot of ways to manage your database digitally, but at this point let’s stick to SQL.

Technically SQL itself can not do much, SQL is a language that you use with a computer to communicate what you want. for example, you might already have seen a command like

Select * from CUSTOMERS -> for digital database this simply means to lookup every customer and show them to you, but wait lookup where? where is information about my customers stored?

— the answer is probably in a relational database (like paper storage, but digital version…, oh and like 1000000 times advanced)

At its core, a relational database is a software that

  • gives you the ability to view, create, modify and delete your data
  • makes SQL possible (once again SQL is just instructions for a database, databases do not speak English, it only understands SQL, so if we want to use a database, we need to understand how to talk SQL ! or in technical terms, we need to learn the syntax of SQL)

Don’t worry, in most cases, you won’t have to set up a database on your machine (but if you will, that would be pretty cool), most probably it already will be set up to use. in the beginning, you would just have to interact with it and once again what do we use to interact with a relational database ? (I am not going to explain what relational means, look it up… no I ain’t kidding)

— correct SQL

There are a lot of wonderful resources online to master SQL, for starting, if you are a person like me, who likes to experiment and learn by doing, I recommend programmiz, or w3schools

for later, if you find that you enjoy the topic, I recommend diving deeper with

That’s pretty much all, If I’ve answered the question “Why the hell should I care about SQL” I am more than happy, and if not, sorry to disappoint you.

Wish you luck!

--

--