SQL (structured query language), or sequel, as it is often pronounced, is a powerful database language used to manage data. This guide will introduce the basics of SQL programming, database systems, and how to learn SQL as a self-taught SQL developer.
A lot of modern applications rely on SQL databases to store their data. For example, Facebook uses an SQL database to store information about users, their posts, and comments. Similarly, Twitter uses an SQL database to store information about tweets and hashtags. Because of this, the demand for database administrators and SQL developers is high and can be very rewarding .
Do you want to learn SQL? This guide is an excellent reference with all you need to know about SQL. Tweet this
What is SQL, and what is its purpose?
SQL (Structured Query Language) is a standard database query language that enables developers to manipulate and retrieve data stored in a relational database.
Is SQL a programming language?
Yes, SQL is a programming language despite all the controversy around it. It offers many perks like other programming languages, such as variables, conditionals, loops, and functions.
What is a database management system?
A database management system (or DBMS) is a software application whose main objective is to store and retrieve data. Users of the system can perform operations such as inserting, updating and deleting data.
MySQL, Oracle Database, Microsoft SQL Server, PostgreSQL, and MongoDB are the most popular DBMS.
Not all DBMS systems would use SQL, hence the term NoSQL databases like MongoDB.
SQL databases are typically called relational databases (relational database management systems or RDBMS).
Why do I need to learn SQL?
SQL is one of the most in-demand skills, required in a whopping 45.4% of all jobs in data (data science, data engineering, DB administrators, etc.).
Not only is it in high demand, but learning SQL can also lead to a relatively high salary. For example, the average salary for an SQL developer in the US is around $76k per year in 2022.
So, if you’re looking to learn a new skill that is not only in high demand but also has the potential to lead to a high salary, SQL is a great choice.
But that’s not it. Besides having multiple career paths on its own, SQL is also a requirement in many job postings for software engineers, data scientists, data engineers, and developers. In short, learning SQL is a smart career move that will open up many doors, whether you want to become an SQL developer or not.
Who’s using SQL?
Everyone! SQL is everywhere! Databases are everywhere. Data storage is a requirement, and SQL databases lead the marketplace.
🧑💻 In the tech industry, some of the biggest companies, such as Amazon, Facebook, Netflix, and Google, all use SQL databases.
🏢 In the business world, SQL databases are used by small businesses to large enterprises to hold key information such as accounting, customer base, and product inventory data.
💰In the finance industry, SQL is used to store and analyze financial data by banks, insurance companies, and other financial institutions.
🚀 In the space industry, SQL databases are even used by NASA to store information about missions, astronauts, and space exploration!
✈️ Even the aviation industry relies on SQL databases! The Federal Aviation Administration (FAA) in the US uses an SQL database to track all commercial and private flights in the country.
As you can see, SQL is everywhere!
Useful tutorials, guides, and career tips for developers, delivered once a week.
Subscribe and get a FREE copy of my book ten learning strategies.
Which careers require SQL knowledge?
We have already established that you should learn SQL, but what careers can I pursue in data?
- Database Administrator (DBA): As a database administrator, you will be responsible for the performance, security, and availability of databases.
- SQL Developer: SQL developers write SQL queries and sometimes design and implement database structure and architecture. They often work closely with software developers to integrate database applications with other software systems.
- Data Analyst: Data analysts use SQL to analyze data and report their findings to business decision-makers.
- Database Engineer: Database engineers design, implement, and maintain database systems.
- Business Intelligence Analyst: Business intelligence analysts use SQL to gather and analyze data to help businesses make better decisions.
- Data Scientist: Data scientists use SQL to mine data for insights that can be used to improve business outcomes.
- Software engineer: As a software engineer , you will either work directly or indirectly with databases, which means that a good understanding of SQL can be highly beneficial if not essential, you don’t need to be an expert, but you should have good knowledge on how to write an SQL query.
SQL 101: the basics of SQL programming
But how do relational databases deal with data?
A relational database is a collection of tables. Tables are similar to folders, where you store files, and each table stores a specific type of information.
Say, for example, that you own a library. The library database might have one table that stores information about the authors, such as their names and date of birth. Another table might store information about the books, such as the title, publication date, and number of pages. And another table might store information about the people who have borrowed the books, such as their names and the date they borrowed the book.
Tables are composed of columns (attributes) and rows (like files or items). In our library example, the “authors” table might have columns for “name” and “date of birth”, while the rows would be the actual authors themselves.
The “books” table might have columns for “title”, “publication date”, and “number of pages”, while the rows would be the actual books in the library.
List of SQL commands
Now that you understand the basics of relational databases let’s take a look at some of the most common SQL commands when dealing with data.
- SELECT: to find/retrieve data from a database
- UPDATE: to alter or edit existing data
- DELETE: to delete data
- INSERT: to insert new data into a database
On top of such commands, SQL offers more administrative commands such as:
- CREATE DATABASE: to create a new database
- CREATE TABLE: to create a new table
- DROP TABLE: to delete a table
- DROP DATABASE: to delete a database
The above commands are just some basics you should learn when getting started with SQL. However, as you become more comfortable with the language, you will find that there is a lot more to explore.
Let’s now see some example queries from our library example.
SQL queries example
- This first SQL query will retrieve all the books in the database
select * from books
- Retrieve all books in stock (current stock is greater than zero)
select * from bookswhere current_stock > 0
- Extract the last name of authors with Juan as the first name
select last_name from authors where first_name like '%Juan%'
In this example, we use the wildcard ‘%’, which means “any number of characters”. So “Juan Cruz”, “Cruz Juan”, and “Juan” would be a match.
- Add a new book to the database
insert into books (name, author, current_stock) values ('The Fellowship of the Ring', 'J. R. R. Tolkien', 10)
- Change a book’s current stock
update books set current_stock = 0 where name = 'The Fellowship of the Ring'
Where to learn SQL?
Hopping on the SQL bandwagon does not have to be a difficult task. If you want to learn SQL, plenty of resources are available online.
Like with development in general, I always advise you to learn at your own speed, with patience and practice, practice practice.
With that said, there are three key areas to learn SQL:
- Learn the basics: Even if we covered some SQL queries here, I do recommend that you start with an SQL tutorial. W3Schools has great SQL tutorials you can start with.
- Go deep with an SQL course: Once you understand the basics, take a course (there are plenty of free SQL courses), or read a book to build up your SQL skills.
- Practice, practice, practice: Use your new SQL knowledge and skills to work with real data. You can also here follow a more advanced SQL tutorial with practical exercises you can complete.
Can I learn SQL by myself?
Thought you would never ask! The answer is yes, you can learn SQL by yourself.
But as with learning any programming language, it will be easier if you have some guidance along the way.
Next, I’ll share with you some free and paid resources you can use to learn more about SQL, data analysis, and data science.
So no matter your career choice, these resources will get you ready for the job market and land your dream job.
The Best Books For Learning SQL
I love reading, and I always enjoy reading a good book when learning a new topic, even with programming, where the practical approach is VERY important, books are great for the fundamentals, best practices, in-depth knowledge, and knowledge transfer, meaning learning from other people’s experiences.
Here is a list of some popular books for learning SQL.
- SQL: 3 books 1 - The Ultimate Beginner, Intermediate & Expert Guides To Master SQL Programming Quickly with Practical Exercises by Mark Reed (via Amazon) - A killer combo, learn everything about SQL, from the basics, to the very advanced concepts.
- Learning SQL: Generate, Manipulate, and Retrieve Data by Alan Beaulieu (via Amazon) - SQL fundamentals for writing database applications, performing administrative tasks, and generating reports. You’ll find new chapters on SQL and big data, analytic functions, and working with very large databases.
- SQL QuickStart Guide: The Simplified Beginner’s Guide to Managing, Analyzing, and Manipulating Data With SQL by Walter Shields (via Amazon) - Perfect companion as you start your journey without prior knowledge of SQL to mastering core concepts of database programming.
Online Courses For Learning SQL
Besides books, here are some great SQL courses you can take.
- Complete SQL + Databases Bootcamp: Zero to Mastery - 2022 by Mo Binni & Andrei Neagoie (via Zero To Mastery) - This platform takes an interesting approach, where you pay a subscription and you can learn as much as you can, and they have great content, from top creators, and the SQL BootCamp is no exception. Covering everything you need to know from having no prior knowledge, this course is a no-brainer. I recommend signing up for a month, learning as much as possible, being fully committed, and seeing the results. If you love the platform, you can make a longer commitment and extend your knowledge to other programming languages and frameworks. Also, the great team at ZTM is giving a 10% discount to readers of the site by using the promo code FRIENDS10.
- The Complete SQL Bootcamp 2022: Go from Zero to Hero by Jose Portilla (via Udemy) - Udemy is well known for programming courses, discounts, and great content. As you can see by its rating, this course is fantastic and a bargain.
- Learn SQL Basics for Data Science Specialization by Sadie St. Lawrence (via Coursera) - I love Coursera for its hands-on approach. Learning to code requires practice, and while other platforms like Udemy check completion to emit a certificate, in Coursera, you will work on a real project before earning your certification. I always highly recommend Coursera.
- Learn SQL (via Udacity) - Udacity , similar to Coursera, focuses on a practical, hands-on approach and takes it to the next level. Not only will you find excellent content, but you will also get a mentor assigned that will help you along the way. The project community is also a decisive factor for Udacity. I took many of their courses, including advanced nano degrees like self-driving cars, and I loved my experience with them.
- Introduction to SQL (via DataCamp) - DataCamp provides a FREE course on SQL, and it’s a great way to get you started. It won’t cover 100% of the curricula, but if you want to learn SQL as a software engineer, this course may be the right one. And did I mention that it is free?
- Intro to Relational Databases (via Udacity) - Although characterized as “Intermediate”, this course covers some fundamentals of SQL and relational databases like tables and elements of SQL. Still, it adds database connectivity using Python code and some more advanced SQL concepts like joins.
Where to ask for help when learning SQL?
When learning SQL, or any other programming language, it is normal to get stuck. Either it will be an SQL query you don’t understand, an SQL tutorial you are following perhaps doesn’t explain the concepts well, or you are failing to write an SQL query required by your SQL course.
Don’t be afraid to ask for help when you’re stuck. Here are some places you can go to for help with SQL:
- The Stack Overflow community is a great place to ask your SQL questions and get help from the community. Besides, chances are, someone already posted your question, and it already has an answer.
- Use Google search! Sometimes you are one Google query away from solving your problem .
- Reddit has multiple communities (subreddit) on SQL. Here is one of the most popular ones, r/SQL .
How long does it take to learn SQL?
This is a difficult question to answer, as it depends on your level of commitment, how much time you can dedicate to learning SQL, and your prior knowledge.
If you are starting from scratch with zero knowledge of programming or databases, it will probably take you longer than someone with some coding experience.
That being said, you can learn the basics of SQL in a matter of days or weeks, and with some more dedication, you can write complex SQL queries within a few months.
If you want to learn SQL fast, I suggest you find a project that requires using an SQL database and start working on it. There is no better way to learn than by doing.
Do you want to learn SQL? This guide is an excellent reference with all you need to know about SQL. Tweet this
I hope this guide was helpful and gives you a good starting point on your journey to learn SQL. If you have any questions, don’t hesitate to reach out or leave a comment below.
Thanks for reading!