Tutorialsteacher

Follow Us

Articles
  • C#
  • C# OOP
  • ASP.NET Core
  • ASP.NET MVC
  • LINQ
  • Inversion of Control (IoC)
  • Web API
  • JavaScript
  • TypeScript
  • jQuery
  • Angular 11
  • Node.js
  • D3.js
  • Sass
  • Python
  • Go lang
  • HTTPS (SSL)
  • Regex
  • SQL
  • SQL Server
  • PostgreSQL
  • MongoDB
  • PostgreSQL - Get Started
  • Install PostgreSQL
  • Connect to PostgreSQL DB
  • Create Database
  • Create Table
  • Copy Table
  • Drop Table
  • Drop Database
  • Truncate Table
  • ALTER Table
  • Rename Table
  • Rename Columns
  • Add Columns
  • Modify Column Type
  • Set Default Value of Column
  • Remove Columns
  • Add Constraints to Table
  • Insert Data
  • Upsert Data
  • Update Data
  • Delete Data
  • SELECT Statement
  • WHERE Clause
  • GROUP BY Clause
  • HAVING Clause
  • ORDER BY Clause
  • DISTINCT Clause
  • Inner Join
  • Left Outer Join
  • Right Outer Join
  • Full Outer Join
  • Self Join
  • Natural Join
  • Cross Join
  • LIMIT OFFSET Clause
  • GROUPING SETS
  • GROUPING() Function
  • GROUP BY CUBE
  • GROUP BY ROLLUP
  • Sub Query
  • ALL Operator
  • ANY Operator
  • UNION Operator
  • INTERSECT Operator
  • EXCEPT Operator
  • IS NULL Operator
  • BETWEEN Operator
  • LIKE Operator
  • CAST Operator
  • CASE Expressions
  • NULLIF()
  • COALESCE()
  • GREATEST(), LEAST()
  • WITH Queries (CTE)
  • Constraints
  • NOT NULL Constraint
  • Unique Constraint
  • Check Constraint
  • Primary Key
  • Foreign Key
  • Sequence
  • Serial Type
  • Identity Columns
  • Generated Columns
  • Data Types
  • Boolean Type
  • Character Type
  • Integer Type
  • Numeric Type
  • Date Type
  • Time Type
  • TimeStamp Type
  • Interval Type
  • Array Type
  • Json Type
Entity Framework Extensions - Boost EF Core 9
  Bulk Insert
  Bulk Delete
  Bulk Update
  Bulk Merge

PostgreSQL: UNION Operator

Postgres Union operator is used to combine the result set of two or more SELECT statements into a single result set.

It returns all rows returned by both the query result sets. By default, the UNION operator removes duplicate rows from the combined data set.

To get duplicate rows, use the UNION ALL operator. UNION ALL operator performs better than the UNION operator. Use the UNION ALL operator If there is no duplicate data in each data set.

Syntax
SELECT Query 1
UNION
SELECT Query 2
UNION
SELECT Query 3
...

The following rule must be applied to combine the result set of two or more quires using the UNION operator.

  • There must be the same number of columns or expressions in each SELECT statement.
  • The corresponding columns in each SELECT statement must have similar data types.

We will use the following Employee and Person tables to understand how UNION and UNION ALL operator works.

Now let's use the UNION operator to fetch data from both the tables.

Example: UNION
SELECT * FROM Employee
UNION
SELECT * FROM Person;

The following displays the result in pgAdmin.

You can also include column names in the SELECT clause. However, number of columns and data types of columns must be the same.

Example: UNION
SELECT first_name, last_name FROM Employee
UNION 
SELECT first_name, last_name FROM Person;

If the number of columns or types of columns is different then it will raise an error. In the following example, the first query includes two columns of character type whereas the second query includes the first column of integer type. So, it will raise an error, as shown below.

You can even combine result of three or more SELECT queries, as shown below.

Example: UNION of Multiple Queries
SELECT id, first_name FROM Employee
UNION 
SELECT id, first_name FROM Person
UNION
SELECT dept_id, dept_name from Department

UNION ALL Operator

Now let's use the UNION ALL operator to combine results from the Employee and Person tables.

Example: UNION ALL
SELECT * FROM Employee
UNION ALL
SELECT * FROM Person;

The following displays the result of the above query. You can see that UNION ALL does not remove duplicate data from the result.

The ORDER BY clause is optional in the syntax. When you use the UNION or UNION ALL operator, the result set will show rows in any order from each of the queries. To sort out rows of the final result set, the ORDER BY clause is used at the end of the last query like below.

Example: UNION ALL
SELECT * FROM Employee
UNION ALL
SELECT * FROM Person ORDER BY ID;
TUTORIALSTEACHER.COM

TutorialsTeacher.com is your authoritative source for comprehensive technologies tutorials, tailored to guide you through mastering various web and other technologies through a step-by-step approach.

Our content helps you to learn technologies easily and quickly for learners of all levels. By accessing this platform, you acknowledge that you have reviewed and consented to abide by our Terms of Use and Privacy Policy, designed to safeguard your experience and privacy rights.

[email protected]

ABOUT USTERMS OF USEPRIVACY POLICY
copywrite-symbol

2024 TutorialsTeacher.com. (v 1.2) All Rights Reserved.