Middle
What is a 'temporary table' in databases and what is it used for?
sobes.tech AI
Answer from AI
A Temporary Table is a table in a database that exists only during a user session or a transaction. After the session or transaction ends, the temporary table and its data are automatically deleted.
Used for:
- Storing intermediate results of complex queries: Instead of using nested subqueries or CTEs for each part of a query, temporary tables can be created to store intermediate data, often improving query performance and readability.
- Simplifying complex data modification operations: Data requiring multi-step processing can be inserted into a temporary table, necessary modifications performed, and then data from the temporary table used to update or insert into permanent tables.
- Scope limitations of data: Temporary tables allow working with a subset of data without affecting permanent tables or creating conflicts with other users working with the same data.
- Testing and debugging: They enable experimenting with data and queries without risking changes or damage to permanent data.
Example of creating a temporary table in SQL (syntax may vary depending on the DBMS):
-- Creating a temporary table in PostgreSQL
CREATE TEMP TABLE temp_sales AS
SELECT
product_id,
SUM(amount) AS total_sales
FROM
sales
WHERE
sale_date >= '2023-01-01'
GROUP BY
product_id;
-- Using the temporary table
SELECT
p.product_name,
ts.total_sales
FROM
products p
JOIN
temp_sales ts ON p.product_id = ts.product_id;