Description
In this article, I am going write the difference between Union vs Union All in SQL Server in multiple rows insert statement.
Union vs Union All in SQL
UNION ALL – It will not remove duplicate rows when you insert multiple rows or values by using Union All, it just combine all the rows.
UNION – Removes duplicate rows when you insert multiple rows or records by using Union.
Union ALL in SQL to Insert multiple rows or records
-- Check and Drop Existing Temp Table IF EXISTS(SELECT 1 FROM tempdb.dbo.sysobjects WHERE ID = OBJECT_ID(N'tempdb..#tempTable')) DROP TABLE #tempTable --Create temp table CREATE TABLE #tempTable (ID INT, UserName NVARCHAR(50)); -- Insert Multiple Values into SQL Server using UNION ALL INSERT INTO #tempTable (ID, UserName) Select 1, 'User1' UNION ALL Select 2, 'User2' UNION ALL Select 2, 'User2' UNION ALL Select 3, 'User3' --Select inserted values from temp table Select * From #tempTable
Union in SQL to Insert multiple records/rows
-- Check and Drop Existing Temp Table IF EXISTS(SELECT 1 FROM tempdb.dbo.sysobjects WHERE ID = OBJECT_ID(N'tempdb..#tempTable')) DROP TABLE #tempTable --Create temp table CREATE TABLE #tempTable (ID INT, UserName NVARCHAR(50)); -- Insert Multiple Values into SQL Server using UNION INSERT INTO #tempTable (ID, UserName) Select 1, 'User1' UNION Select 2, 'User2' UNION Select 2, 'User2' UNION Select 3, 'User3' --Select inserted values from temp table Select * From #tempTable
Note: If you have no problem with duplicate rows, you can use Union All instead of Union for better performance. since Union query will check all the rows to find duplicates, it will takes more execution time compared with Union ALL.
Thanks,
Morgan
Software Developer
Advertisement