SQL Union – What is a Union and how to combine two or more SQL Select queries

By Dillon Smart · · · 0 Comments

The SQL UNION Operator is used to combine two or more SELECT statements together into one set of results.

Things to know about SQL Union Operator

To execute a SQL UNION statement successfully, you need to be away of the requirements of a UNION statement.

  • Each SELECT statement within the UNION must have the same number of columns
  • Columns in each SELECT statement must be in the same order
  • Columns within the SELECT statements must have similar data types

Example using SQL UNION

In our example we have 2 tables, one table called Fruit and another called Vegetables, and we want to join the SELECT results of both tables.

SQL tables

To UNION two SELECT statements, we would do something like this:

SELECT name from fruit UNION SELECT name from vegetables;

// or

SELECT name, shelf_life, 'Fruit' as type from fruit UNION select name, shelf_life, 'Vegetables' as type from vegetables;

Using the example SQL statement, we would get a set of results which is a combination of the two tables.

Notice that in both SELECT statements we are selecting the same number of columns.

SQL UNION combine two or more SQL statements

If we were to change the statement to select additional columns from the vegetables table, like the query below, we would exepct an error.

SELECT name from fruit UNION SELECT name, shelf_life from vegetables;

Exectuting this statement would give the following error: ERROR: each UNION query must have the same number of columns.

If we were to request a different data type in one of the SELECT statements, we would get the following error: ERROR: UNION types bigint and character varying cannot be matched.

MySQLPostgreSQLSQL

0 Comment

Was this helpful? Leave a comment!

This site uses Akismet to reduce spam. Learn how your comment data is processed.

How to install PostGIS

Updated 2nd October 2023

PostGIS is a plugin which adds support for storing, indexing and querying geographic data in PostgreSQL databases. To get started with PostGIS, you will need to install the extension on your PostgreSQL database. If you are using PostgreSQL as a service from a cloud provider, you may already have PostGIS installed. How to check if

JDBC Connector Communication link failure error to MySQL

Updated 3rd January 2024

Are you having trouble connecting to a MySQL database through JDBC Connector in a database management tool such as DBeaver Community Edition? DBeaver fails to connect to a local MySQL database with the error “Communication link failure the last packet sent successfully to the server was 0 milliseconds ago“. Here is a breakdown of this

The ULTIMATE guide to setup Windows Subsystem for Linux (WSL) with Ubuntu, Apache2, MySQL and PHP

Updated 16th August 2022

Windows is now good for development! Yes! All thanks to Windows Subsystem for Linux (WSL). No more WAMP or Xampp, WSL can do everything you need. In this ultimate guide to setup Windows Subsystem for Linux with Ubuntu, Apache2, MySQL, and PHP we will cover: What is Windows Subsystem for Linux? Setting up Windows Subsystem