What’s New ?

The Top 10 favtutor Features You Might Have Overlooked

Read More

Temp Tables in SQL & Its Operations (with Examples)

  • Jan 08, 2024
  • 6 Minute Read
Temp Tables in SQL & Its Operations (with Examples)

Welcome to the backend of SQL, where the real magic happens: introducing SQL temp tables. Imagine them as the behind-the-scenes area for our data, where all the important tasks happen. These temporary data serve as a quick way to make our SQL queries run more smoothly and quickly. Let us now dive deeper into the world of SQL Temp Tables.

What are Temp Tables in SQL?

Temporary tables in SQL are tables that provide a temporary workspace to store and manipulate data during the execution of complex queries, optimizing database performance and enhancing query flexibility. They exist temporarily for the duration of a session or a transaction and emerge as dynamic structures with significant technical utility. 

temp tables in SQL

The implementation of SQL Temp Tables involves the use of the CREATE TEMPORARY TABLE statement. This statement establishes a table within the session's scope, allowing for the temporary storage of data without the need for a permanent database schema.

Consider a scenario where an e-commerce platform needs to calculate monthly sales metrics. Instead of querying the primary sales table repeatedly, a SQL Temp Table can be created to store interim results. This temporary table might include aggregated data, such as total sales per product category or average transaction values.

Operations in a Temporary Table in SQL

The operations in a Temp Table involve creating, populating, updating, and altering temporary tables to sculpt and refine data in a temporary workspace. With commands like CREATE TEMPORARY TABLE for creating the table, INSERT INTO for adding data flair, UPDATE for a quick change, and ALTER TABLE for a structural change, these operations on SQL temp tables allow us to optimize data to affect the real database.

1) Creating Temp Tables in SQL

Creating temporary tables is like setting up a quick and flexible workspace for our data. It is a bit like preparing a stage for a short performance. Using the CREATE TEMPORARY TABLE command is like putting together the stage, deciding what it should look like and what kind of data it can hold.

Syntax:

CREATE TEMPORARY TABLE table_name (
column1 datatype1,
column2 datatype2,
column3 datatype3,
);

In the below example, we create a temporary table named TempEmployee with columns EmployeeID, FirstName, LastName, and Department.

SQL Query:

CREATE TEMPORARY TABLE TempEmployee (
EmployeeID INT,
FirstName VARCHAR(50),
LastName VARCHAR(50),
Department VARCHAR(50)
);


Output:

Creating Temp Tables in SQL

2) INSERT INTO Temp Table

Inserting into temp tables brings in the data and adds it to our temporary space. It is a quick and straightforward action, like assigning roles to actors for a short scene. So, let us dive into the basics of adding data to our temporary table using INSERT INTO.
.
Syntax:

INSERT INTO temporary_table_name (column1, column2, column3, ...)
VALUES
(value1, value2, value3, ...),
(value4, value5, value6, ...),
...;

We will now insert three rows of sample data into the temporary table.

SQL Query:

INSERT INTO TempEmployee VALUES
(1, 'John', 'Doe', 'IT'),
(2, 'Jane', 'Smith', 'HR'),
(3, 'Bob', 'Johnson', 'Finance');

 

Output:

INSERT INTO Temp Table

3) Working with SQL Temp Tables

The temporary table is a dynamic way that involves two key moves: ALTER and UPDATE. Altering a temporary table is like adjusting the database before execution while updating is like giving the new format for better performance. These actions allow us to fine-tune our temporary space, ensuring it aligns perfectly with our database.
 
Syntax:

UPDATE temporary_table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

ALTER TABLE temporary_table_name
ADD column_name datatype;

Next, we will make changes to an employee's Department using UPDATE. Then, we will bring in a new column, adding a Salary column with ALTER TABLE to our temporary table. Finally, we will give a specific employee a salary update and show us the result.

SQL Query:

UPDATE TempEmployee
SET Department = 'Marketing'
WHERE EmployeeID = 2;

-- Adding a new column 'Salary' to the temporary table
ALTER TABLE TempEmployee
ADD Salary DECIMAL(10, 2);

-- Updating the Salary for a specific employee
UPDATE TempEmployee
SET Salary = 60000.00
WHERE EmployeeID = 1;

SELECT * FROM TempEmployee;

 

Output:

Working with SQL Temp Tables

Considerations when working with SQL temp tables:

  • Keep in mind that SQL temp tables are typically session-specific and exist only for the duration of the session. Avoid relying on them for long-term storage, and use them for temporary data needs.
  • Follow a consistent naming convention for our temp tables. This helps in avoiding naming conflicts and makes it easier for us to understand the purpose of each temporary table.
  • When working with large datasets, consider indexing columns used in JOIN and WHERE clauses to enhance query performance. This optimization can significantly improve the speed of operations involving temp tables.
  • Unlike permanent tables, temp tables do not automatically disappear when the session ends. We need to explicitly drop temp tables when they are no longer needed.

Conclusion

In the world of SQL, temporary tables are like portals that appear and vanish as needed.  They are like data pit stops; quick, useful, and easy to create. They offer a quick and practical solution for tasks like storing intermediate results or breaking down complex queries. If you need more clarity, our Online SQL Tutors are always available online.

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.