What’s New ?

The Top 10 favtutor Features You Might Have Overlooked

Read More

SQL Order of Operations (for Query Execution)

  • Jan 30, 2024
  • 8 Minutes Read
SQL Order of Operations (for Query Execution)

Getting good at anything means knowing how things work in order. Knowing the right order to do things helps you pick the best time and way to do certain tasks. In SQL, it helps you build better queries and makes it easier to pull information from a database smoothly. This article will explain the Order of Operations in SQL with examples.

Order of Operations in SQL

Think of SQL actions as a guide. They show us how to pull out data. The journey starts with the FROM clause, here we will select which table or tables we want to dig into. This sets the stage for our data hunt. If our data is complexly distributed across several tables, then the JOIN clause becomes very important. It's like a connector that makes working with these tables smooth and easy.

Understanding the order of operations plays a big part in making good SQL queries. The way clauses and statements are run can change the results you get from a query. The following flowchart shows the order of operations in SQL:

SQL Order of Operations Chart

SQL order of operations is as follows: FROM, JOIN, WHERE, GROUP BY, HAVING, SELECT, DISTINCT, and ORDER BY clause.

  1. FROM clause: Specifies the tables to get data from.
  2. JOIN clause: Combines data from different tables when the query involves more than one table.
  3. WHERE clause: Filter rows based on specific conditions to narrow down the result set.
  4. GROUP BY clause: Groups rows based on certain columns, usually used with aggregate functions.
  5. HAVING clause: Filters groups created by the GROUP BY clause based on specified conditions.
  6. SELECT clause: Choose which columns or expressions will be in the result set.
  7. DISTINCT keyword: Removes duplicate rows from the result set.
  8. ORDER BY clause: Sorts the result set based on specified columns.

Order of Operations in UNION

Understanding how SQL UNION works is vital for combining results from different SELECT statements:

  • SELECT Clauses: Starts with individual SELECT statements, each with its conditions, projections, and ordering.
  • UNION Operator: Combines the results of SELECT statements, excluding duplicate rows by default (unless UNION ALL is used). Columns in SELECT statements must have the same data types in corresponding positions.
  • ORDER BY Clause: If used, it applies to the combined result set after the union operation, influencing the final result set's order.

Syntax:

SELECT column1, column2, column3, ...
FROM table1

UNION

SELECT column1, column2, column3, ...
FROM table2

ORDER BY column1;

Here's an example query to illustrate the order of operations with UNION:

Table: Maths

SQL Order of Operations Maths Table

Table: Physics

SQL Order of Operations Physics Table

SQL Query:

SELECT student_id, first_name, last_name, department
FROM math
UNION
SELECT student_id, first_name, last_name, department
FROM physics
ORDER BY first_name;

 

Output:

SQL Order of Operations UNION Output

Two SELECT statements retrieve students from different departments.

The UNION operator combines the results, eliminating duplicate rows.

Finally, the ORDER BY clause sorts the result set by the student’s first names.

Don't forget, e­very SELECT statement be­fore a UNION should have an equal count of columns. The­y should also contain compatible data types. UNION operate­s by aligning these results ve­rtically.

Order of Operations in JOIN

Understanding the steps for SQL joins is important for creating accurate queries with multiple tables. Here's a simple breakdown:

  • FROM Clause: Specify the tables in the FROM clause, setting the stage for join operations.
  • JOIN Clause: Use JOIN after FROM, indicating the tables to combine. Specify the table name to join and the conditions in the ON clause, defining how rows from the joined tables are related.
  • ON Clause: In the ON clause, set conditions that establish the relationship between tables. These conditions are evaluated during the join.
  • WHERE Clause: After the ON clause, apply additional filtering using the WHERE clause. These conditions affect the rows in the result set.
  • GROUP BY, HAVING, SELECT, and ORDER BY Clauses: After joining and initial filtering, other clauses like GROUP BY, HAVING, SELECT, and ORDER BY follow the same order as in a basic SQL query.

Grasping this sequence is essential, particularly when handling various forms of joins. Every form might impact the results uniquely, a step-by-step operational execution assures your query gives the expected result.

Knowing the process of sequence in SQL joins allows you to create stronger queries. It also helps you to extract precisely what you need from your databases.

Syntax:

SELECT table1.column1, table1.column2
FROM table1
INNER JOIN table2 ON
table1.common_column = table2.common_column;

Consider the following example with math score and physics score.

Table: Math

SQL Order of Operations Maths Score

Table: Physics

SQL Order of Operations Maths Score

SQL Query:

SELECT maths.student_id, maths.first_name, maths.last_name, maths.math_score, physics.physics_score
FROM maths
INNER JOIN
physics ON maths.student_id = physics.student_id;

 

Output:

SQL Order of Operations JOIN Output

Also, find out how to join 3 tables in SQL and types of JOINs.

Conclusion

To sum it up, it's really important to know how SQL works, e­specially when using UNION and JOINS. This is because­ the results we ge­t depend on it. Understanding the order of operations in SQL helps you to create­ queries to quickly find the data we­ want in databases. To learn more about it before exams, we can connect you with an SQL Tutor online for 1:1 personal sessions.

FavTutor - 24x7 Live Coding Help from Expert Tutors!

About The Author
Tanish Mallik
I am Tanish, a final-year computer science student with extensive expertise in SQL. My background in the field of data science has honed my strong analytical skills, and I also have hands-on experience in developing data integration and optimization pipelines using Python and MSBI. I am eager to contribute innovative ideas and make an impact in the ever-evolving world of technology.