Course
SQL is a powerful programming language that plays an important role in today's world. It allows us to communicate with relational databases and gather information. You'll find SQL in use wherever there is data. That includes governments, public organizations, and businesses of all sizes and industries, from shipping to shoe sales. Moreover, SQL is one of the most in-demand technical skills for data jobs.
You might have heard that data is now the world's most valuable commodity, meaning it's worth more than even fossil fuels such as oil. So how do we harness the power of this commodity and use it to gain insights and make savvy decisions?
That's where a language like SQL comes in. Here, we take a close look at SQL, including what it is, what it does, who uses it, and the history of this domain-specific language.
What Is SQL?
SQL stands for Structured Query Language, and as its name suggests, you can use this programming language to ask questions (queries) of databases. You'll hear SQL pronounced as “sequel” or said as an acronym, “ess-que-el.”
This programming language is primarily used to communicate with relational databases. With SQL's help, we can access, retrieve, sort, and update information. It's used with well-known relational database management systems (RDBMS), including:
- Oracle
- Microsoft SQL Server
- PostgreSQL
- MySQL
- MariaDB
- SQLite
SQL was standardized by the American National Standards Institute (ANSI) in 1986. It also gained an International Standard designation from the International Organization for Standardization (ISO) and has been adopted as a standard by numerous governments and organizational bodies worldwide.
SQL and relational databases
Databases store information in a digital format that ensures data is easily accessible. Relational databases are table-based and allow us to manage and examine the relationships between data types.
We can do this in one database's tables, or we can examine the relationship between data in multiple relational databases.
One of the primary benefits of the relational model is that we can join tables and understand the relationship between data types.
Let's say that you own an e-commerce shoe store. If you want to know the relationship between your customers' location and sales volume, you can use SQL to query the customer table and generate a report.
Or let's say you own a physical shoe store, and you want to know which of your team members sells the most shoes. You can also find this information using SQL, provided your database has the right parameters.
A relational database is similar to a simple table with columns and rows that you might create in Excel. However, relational databases contain several tables, and unlike the tables you can create in Excel, a large relational database can contain millions of fields.
The data points within the database will vary depending on one's business or data requirements. Shoe sellers might want customer locations or information on employee sales, while another business or organization might want other data points.
SQL can be used to create new databases and modify the schema (structure) of existing databases according to need.
NoSQL vs SQL
NoSQL databases provide other ways to store and manage data without using relational tables. They became popular in the late 2000s as they offered a way to accommodate data without the structural effort that goes into SQL databases. NoSQLs can be easier for developers to create, may offer faster query speeds, and allow for a flexible approach.
In many ways, NoSQL challenges the traditional database goals of atomicity, consistency, isolation, and durability (ACID) and suggests a more open approach to data storage.
SQL databases, on the other hand, are used for relational data, which requires a highly structured approach from the outset. They offer flexible query use, a lower data-storage footprint, consistent data integrity (a matter of key importance in several industries such as finance), and more safeguards than NoSQL.
SQL databases are far more common than NoSQL databases, but each has its own place, benefits, and drawbacks. You can learn more in our full comparison of SQL vs NoSQL databases.
What is NewSQL?
NewSQL systems are the new kid on the block and are sometimes referred to as distributed relational database systems or more often, distributed SQL.
First appearing in the early 2010s, NewSQL systems aim to bridge the gap between traditional RDBMSs and NoSQL systems. They do this by offering the speed and scalability of NoSQLs combined with the relational model, transaction support, and ACID guarantees that RDBMSs offer.
Early vendors of NewSQL systems, such as Xeround and GenieDB, didn't really make much of an impression in the database market, perhaps because it was (and still is) heavily dominated by companies such as Oracle, Amazon Web Services, and Microsoft.
Cloud-based database services that embrace the NewSQL model include AWS Amazon Aurora and Google Cloud Spanner.
Why is SQL So Popular?
SQL remains popular nearly 50 years after its inception because it simply works. Relational databases were invented to fill a need, and SQL was invented to communicate with these databases, meaning it quickly became the de facto language.
In many ways, SQL is synonymous with relational databases, which is one reason why RDBMSs are often called SQL databases (and other non-relational databases are called NoSQL).
There would be little point in trying to reinvent the wheel, right? It's rather the same with relational databases and SQL—neither are going anywhere because they work perfectly!
These two tools, working in tandem, ensure that a great many of our technologies continue to work reliably, from back-end systems that keep businesses running smoothly to structured internet architecture and much more.
SQL's ubiquity is not the only reason it is popular, though. It is also powerful and allows developers and analysts to query large amounts of data in complex ways and solve tricky analytical questions.
According to the TIOBE Index, SQL is the 10th most popular programming language around in 2024.
Image source: TIOBE Index.
Of course, there are always new developments, and technologies change quickly, but SQL has yet to be knocked off its favored perch.
When Was SQL Created?
SQL's history is closely linked to the inception of relational databases. This history stretches back to the late 1960s when an IBM mathematician and researcher named Edgar Frank Codd formulated the relational database model.
A major breakthrough at the time, the model linked pieces of information (keys) with various data types. For instance, a person's name could be linked to their shoe size or their phone number.
In 1970, Codd published his seminal paper, A Relational Model of Data for Large Shared Data Banks, which later provided other researchers with the basis for the SQL language.
Prior to Codd's work, retrieving information from a database was an arduous task that required sophisticated knowledge of computers. Codd's idea removed the need for specialist knowledge and made it far easier for anyone to access information.
Despite the model's revolutionary nature, there were criticisms. As Jim Gray, the author of Database Systems, notes, “People thought that the model was too simplistic and that it could never give good performance.”
With its clever use of elegant mathematics, Codd's model proved its detractors wrong many times over.
Who invented SQL?
IBM researchers Donald D. Chamberlin and Raymond F. Boyce invented SQL after learning about Codd's work on the relational model.
“Ray Boyce and I wanted to design a query language that had the expressive power of Ted Codd's relational languages but was easier to understand by users who were not experts in set theory or formal logic.” - Donald Chamberlin
Chamberlin notes that their first attempt at a relational database language was called Square. Based on the notion of mapping, Square used a subscript notation that presented difficulties. So in 1973, when the pair moved to IBM's San Jose Research Laboratory, they began work on a sequel language, which they aptly called Sequel.
Later, Sequel became the SQL we all know today.
After testing SQL and relational database systems, IBM began developing products that used the new technologies. System/38, a mid-range computer featuring an innovative database system, was released in 1978. Since then, IBM and other vendors, such as Oracle, have continued to release products featuring SQL.
SQL Upskilling for Beginners
How SQL Has Evolved Over the Years
One of the interesting things about SQL is that its fundamental basics remain the same, even though it has been around for close to 50 years. Commands such as SELECT
, UPDATE
, INSERT
, DELETE
, and so on remain largely unchanged.
That doesn't mean there haven't been changes, though. New features that make using the basic commands easier have emerged, making SQL even more powerful and user-friendly. In addition, as new RBDMSs have emerged—both proprietary (belonging to a company like Microsoft) and open-source (free for anyone to use)—different dialects of SQL have appeared.
SQL evolution timeline
Here is a timeline showcasing the key developments in SQL over the years:
Year | Development | Description |
---|---|---|
1970 | Relational Model Conceptualized | Edgar F. Codd publishes "A Relational Model of Data for Large Shared Data Banks," laying the foundation for SQL. |
1973 | SQL Development Begins | IBM researchers Donald D. Chamberlin and Raymond F. Boyce start developing SQL. |
1978 | System/38 Released | IBM releases System/38, featuring an innovative relational database system using SQL. |
1986 | ANSI SQL Standardization | SQL is standardized by the American National Standards Institute (ANSI). |
1987 | ISO SQL Standardization | SQL gains an International Standard designation from the International Organization for Standardization (ISO). |
1992 | SQL-92 Released | Major revision of the SQL standard, introducing new features and improvements. |
1999 | SQL:1999 (SQL3) | Adds support for object-relational databases, triggers, and procedural language extensions. |
2003 | SQL:2003 | Introduces XML-related features, window functions, and the MERGE statement. |
2006 | SQL:2006 | Adds support for SQL/XML, enhancing integration with XML data. |
2008 | SQL:2008 | Introduces new data types, additional functions, and improvements to existing features. |
2011 | SQL:2011 | Adds temporal data support for managing historical data. |
2016 | SQL:2016 | Introduces row pattern recognition and enhances JSON support. |
2019 | SQL:2019 | Adds more robust support for JSON and other modern data types. |
2022 | Continuous SQL Updates | SQL continues evolving with updates from major RDBMS vendors, incorporating new features and optimizations. |
SQL dialects and syntax differences
All SQL languages share the same basic structure as standard SQL, and the key commands are generally similar. However, there are syntax differences across dialects. This can be likened to natural languages, where dialects like American, British, and Australian English exist alongside standard English.
SQL dialects, such as PostgreSQL, MySQL, SQLite, and SQL Server, each have unique syntax elements that are compatible with their corresponding RDBMS. Learning a dialect like PostgreSQL, which closely follows standard SQL syntax, is a great starting point for learning SQL, making it easier to adapt to other dialects and database systems.
The rise of data science
One of the key roles of data science is to find and predict trends, so it has become a staple in the modern, data-driven world. In 2012, Harvard Business Review called data science ‘the sexiest job of the 21st century.' Fast-forward to 2021, and Forbes reported that the data science field would grow by around 28% by 2026.
As the field of data science has become more prominent, so too have the programming languages data scientists use most often, including SQL.
Data and SQL go hand in hand. Anyone who wants to access, examine, manipulate, or otherwise gain insights from structured data (data that's stored in relational databases) needs to know SQL.
Data is now the world's most valuable commodity and data science is increasing its value. As a result, SQL, which has always been popular, has become even more important in recent years.
Who Uses SQL?
Plenty of people use SQL on a regular basis, from those who work with data as a career to people who just want a better way to manage a small database or gain insights. After all, why turn to Excel when SQL and SQL databases offer a far more elegant way to examine data?
Businesses of all shapes and sizes use SQL, too. Companies that rely on SQL to manage their databases include Microsoft, Dell, and Google. It's not just tech companies, either. Any business that uses relational databases uses SQL. Think big names like Nike and Spotify alongside smaller retail businesses and many others.
SQL is needed by anyone who needs to create, modify, or communicate with relational databases. Because of the prominence and importance of technology, RDBMSs and SQL are found in all industries and fields.
Careers with SQL
Because of its data sorting and analysis powers, SQL is a must-have skill for many professionals, including (but not limited to):
-
Database administrators
-
Data analysts
-
Data scientists
-
Web designers
-
Server management specialists
-
Hosting technicians
-
Business intelligence specialists
-
Software engineers
-
Developers
-
Financial analysts
-
Researchers
-
And more…
Having even a working knowledge of basic SQL is helpful in myriad other industries and professions, too. Given the importance of data today, it's no surprise that an increasing number of employers are looking for candidates with database skills listed on their CVs.
Sometimes, these employers come from unexpected industries, such as journalism. When journalists faced the Panama Papers, a huge mass of complex files and documents to unpack and analyze, they turned to database systems for help.
Likewise, marketers, advertisers, and digital marketing specialists often use relational databases to make sense of information such as bounce rates, scroll depth, and click-throughs. For these careers, which in many ways represent the future of marketing, knowing how to use SQL is particularly helpful.
Upskilling with SQL
No matter the business or industry you work in, SQL skills can put you ahead. Upskilling and learning SQL is a great way to advance your current career and add another skill to your technical toolkit.
Even learning basic SQL to query databases and find information can make you a more valuable employee or help you land a new job.
SQL In Practice: Code Examples
Here are some code examples to illustrate the power and functionality of SQL. These examples use a hypothetical patient database to demonstrate common SQL queries.
1. Viewing all records in a table
To see the contents of the patients
table:
SELECT * FROM patients;
Output:
| patient_id | first_name | last_name | gender | birth_date |
|------------|------------|-----------|--------|------------|
| 1 | John | Doe | M | 1980-01-01 |
| 2 | Jane | Smith | F | 1985-05-23 |
| 3 | Bob | Brown | M | 1975-09-12 |
| 4 | Alice | Johnson | F | 1990-03-17 |
| 5 | Charlie | Davis | M | 1992-07-04 |
2. Filtering records by gender
To find the first and last names of all male patients:
SELECT first_name, last_name, gender
FROM patients
WHERE gender = 'M';
Output:
| first_name | last_name |
|------------|-----------|
| John | Doe |
| Bob | Brown |
| Charlie | Davis |
3. Sorting results
To get a list of all patients sorted by their last names:
SELECT first_name, last_name, gender
FROM patients
ORDER BY last_name;
Output:
| first_name | last_name |
|------------|-----------|
| Bob | Brown |
| Charlie | Davis |
| John | Doe |
| Alice | Johnson |
| Jane | Smith |
4. Aggregating data
To count the number of patients by gender:
SELECT gender, COUNT(*) as count
FROM patients
GROUP BY gender;
Output:
| gender | count |
|--------|-------|
| M | 3 |
| F | 2 |
5. Using joins
Assume we have another table appointments
to track patient appointments:
CREATE TABLE appointments (
appointment_id INT,
patient_id INT,
appointment_date DATE,
doctor_name VARCHAR(50)
);
To find all appointments along with patient names:
SELECT p.first_name, p.last_name, a.appointment_date, a.doctor_name
FROM patients p
JOIN appointments a ON p.patient_id = a.patient_id;
Output:
| first_name | last_name | appointment_date | doctor_name |
|------------|-----------|------------------|-------------|
| John | Doe | 2024-01-15 | Dr. Smith |
| Jane | Smith | 2024-02-20 | Dr. Adams |
| Bob | Brown | 2024-03-10 | Dr. Lee |
6. Updating Records
To update a patient's information, such as changing the last name of the patient with patient_id
1 to "Doe-Smith":
UPDATE patients
SET last_name = 'Doe-Smith'
WHERE patient_id = 1;
7. Deleting Records
To delete a patient record where the patient_id
is 5:
DELETE FROM patients
WHERE patient_id = 5;
SQL Basics and Advanced SQL
As with any skill, there's a big difference between what SQL beginners and experienced and knowledgeable SQL experts can do with this domain-specific language.
For instance, let's say you've signed up for DataCamp's Introduction to SQL course. In it, you'll learn the fundamentals of SQL syntax and the basics of querying and aggregating information in relational databases—enough to begin working with databases immediately.
On the other side of the relational database equation, you have SQL experts (some of whom are DataCamp instructors) who have spent years working with the language.
With advanced SQL skills, people can quickly and accurately manipulate data, create databases, and perform complex queries without checking if their code is correct. This includes creating entity relationship diagrams (ERDs), optimizing query indexes, and performing hierarchical queries.
SQL is a skill for life, though. Once you've mastered the basics it's easy to upskill and keep adding further SQL knowledge and learning how to do more advanced or complex things. Even if you're comfortable working with SQL, DataCamp can take you further with intermediate and advanced SQL courses.
Summing Up
As you can see, SQL is an important programming language. Without it, we wouldn't be able to communicate with relational databases, and we wouldn't be able to gather the kind of insights that give businesses and organizations a competitive edge.
SQL is a handy tool for anyone to have in their arsenal, and it's an absolute must-have for people who work with data, including data analysts and scientists, marketers, financial professionals, and more.
If you're ready to start learning SQL, check out DataCamp's comprehensive range of individual courses and career tracks.
Become SQL Certified
FAQs
Is SQL a programming language?
In the strictest definition of the term, yes SQL is a programming language. But it's not a general-purpose programming language like Python or Java. You can't build an app with SQL. Instead, SQL has a specific job to do: communicate with and manipulate data in relational databases.
Because it has a specific application, SQL is a domain-specific programming language. This language offers a flexible and powerful way to get information from data, making it an ideal language for data science and related fields.
Is learning SQL easy?
Yes, SQL is one of the easiest computer languages to learn. Its syntax is English-based and simple, meaning many people can master this language within weeks, even if they have no prior experience with programming languages.
Introduction to SQL, a free course from DataCamp, is a great way to begin learning SQL online and at your own pace.
Can I teach myself SQL?
Yes, but teaching yourself SQL will probably take a whole lot longer than if you followed a structured course from a recognized training agency such as DataCamp.
SQL is one of the easiest programming languages to learn, but that doesn't mean it's simple. There's still a lot of complexity to its use and application. The best way to get your head around SQL is through dedicated training.
What is SQL in simple terms?
SQL is a computer language that was invented so people could communicate with relational databases. Relational databases offer a way for people to examine the relationships between different types of data, for example, a person's height and weight or sales volume and location.
To gather this kind of information from databases and generate reports, we can use SQL.
Is SQL really better than Excel?
Yes, SQL is a much better way to view, manage, and examine data than Excel. Unlike the latter, an SQL database can contain millions of fields, and there is a lot more you can do with the data using SQL queries than you can do with Excel formulas.
Spreadsheets are helpful and are routinely used in many industries, but they do not offer the same analytical functionality as an SQL database system, nor the same level of data integrity.
Why is SQL still so popular today?
Because SQL is everywhere. This programming language is synonymous with relational databases, a technology that offers one of the very best ways to view, manage, and manipulate data.
Wherever you find data, there's a good chance it's stored in a relational database, and we need SQL to communicate with these databases. This level of ubiquity means SQL is likely to remain popular for many years to come.
Is it worth learning SQL in 2022?
If you want to pursue a career in data science or a related field, learning SQL is one of the best things you can do. SQL databases, or relational databases, are the most common way for businesses and organizations to store their data.
To communicate with relational databases and unlock the power of the data they contain, you will need SQL skills. Even if you don't want to work with data full-time, knowing your way around a few SQL queries is helpful. SQL is commonly listed in job postings as a required skill.
Which is easier to learn, SQL or Python?
SQL. Because SQL is designed for a specific application only (to communicate with relational databases), its grammar and syntax are simpler than general-purpose programming languages such as Python.
That's not to say that learning Python is hard. In fact, it's among the easier programming languages to learn. DataCamp offers introductory courses in both SQL and Python. Try both and see which path you'd like to take.
Should I learn MySQL or SQL?
Start by learning standard SQL or PostgreSQL, which is the closest SQL dialect to standard.
To work with any relational database management system (aka RDBMS) you will need to know standard SQL, then as you change systems, from PostgreSQL to MySQL for example, you'll need to learn the minor differences between the syntax for each system.
How much do SQL developers make on average?
Developers who work with SQL make an average of $88,125 per year, according to research from Indeed. These developers work with SQL databases and create applications that interface with these databases.
Other jobs that involve SQL as a primary skill include database administrator, data analyst, and data scientist. DataCamp has a range of SQL-based courses and career tracks that can get you started on the right foot in your new profession.
Learn more about SQL with these courses!
Course
Intermediate SQL
Course
Introduction to Relational Databases in SQL
blog
What is SQL Used For? 7 Top SQL Uses
blog
How to Become a SQL Expert
Kelsey McNeillie
9 min
blog
Is SQL a Programming Language?
tutorial
MySQL Tutorial: A Comprehensive Guide for Beginners
code-along
SQL for Absolute Beginners
code-along
Getting Started in SQL
Kelsey McNeillie