Union Operator in MariaDB
Last Updated :
02 Feb, 2024
MariaDB is an Open-Source Database system and MariaDB offers similar security features to MySQL, including access control, user authentication, and encryption. UNION operator is a fundamental part of MariaDB, a well-known database systeÂm. The UNION operator mergeÂs results from different SELECT queÂries. In this article, We will understand the Union Operator in MariaDB along with the syntax, its practical examples, the difference between the join and Union, and so on.
MariaDB UNION Operator
In MariaDB, the UNION opeÂrator joins two or more SELECT queries into one set. It’s useful when we neeÂd to merge data from several tableÂs or conditions. The UNION operator automatically removeÂs any duplicate rows, simplifying the data.
Syntax:
SELECT column FROM table1
UNION
SELECT column FROM table2;
Explanation:
- SELECT: It defines the columnsthat we want to retrieve from the tables.
- table1, table2 : Represents the tables from which you’re fetching the data.
- UNION : Indicates the UNION operation to combine the results of the two SELECT statements.
RemeÂmber, every SELECT stateÂment in the UNION should have matching column counts and typeÂs. They should also follow the same ordeÂr. The UNION operator helps meÂrge different data sourceÂs in MariaDB. This enabling more complex and insightful data analysis and reporting.
Example of Union Operator in MariaDB
To understand the Union Operator in detail we need some tables on which we will perform various operations related to the Union Operator. Here we have created a two tables called orders and returns table.
orders table looks like:
table orders
returns table looks like:
table returns
Example 1: Combining Orders and Returns
Let’s Combine the order information (order_id, customer_id, product_id, order_date) from the “orders” table with the return information (return_id, customer_id, product_id, return_date) from the “returns” table, by removing the duplicates.
Query:
SELECT order_id, customer_id, product_id, order_date FROM orders
UNION
SELECT return_id, customer_id, product_id, return_date FROM returns;
Output:
Output1
Explanation: In this select query that returns the combined data into a single result set. It gives us info on both successful orders and returns. Each row will show details like the ordeÂr_id/return_id, customer_id, product_id, and the related dateÂs.
Example 2: Combining Orders and Returns for a Specific Customer
Let’s Retrieve all records from the “orders” table and the “returns” table where the customer ID is 1, combining the results while removing duplicates.
Query:
SELECT * FROM orders WHERE customer_id = 1
UNION
SELECT * FROM returns WHERE customer_id = 1;
Output:
search outupt 2
Explanation: This query retrieves data for customer_id 1. It fetches data from two tables: ordeÂrs and returns. It shows all orders and returns associated to that customer.
Example 3: Combining Orders and Returns for a Specific Product
Let’s Retrieve all records from the “orders” table and the “returns” table where the product ID is 104, combining the results while removing duplicates.
Query:
SELECT * FROM orders WHERE product_id = 104
UNION
SELECT * FROM returns WHERE product_id = 104;
Output:
output3
Explanation: This query fetches data about product_id 101. It geÂts information from orders and returns tables. It shows all orders and reÂturnes for this specific product.
Example 4: Combining Orders and Returns Sorted by Date
Let’s Combine all records from the “orders” table and the “returns” table, removing duplicates, and then order the results based on the “order_date” column.
Query:
(SELECT * FROM orders)
UNION
(SELECT * FROM returns)
ORDER BY order_date;
Output:
output 4
Explanation: This query joins data about orders and reÂturns. The results get sorted by the order date so we seÂe the orders and reÂturns in time order.
Difference Between the UNION and JOIN Operator
Purpose
|
It Combines the results of two or more SELECT queries into a single result set, eliminating duplicates.
|
It Retrieves data from multiple tables based on a related column between them.
|
Syntax
|
SELECT column1, column2 FROM table1 UNION SELECT column1, column2 FROM table2;
|
SELECT column1, column2 FROM table1 INNER JOIN table2 ON table1.column = table2.column;
|
Number of Tables
|
It Can combine results from multiple tables.
|
It Typically involves joining two tables.
|
Result Set
|
It Combines rows from both queries, removing duplicates.
|
It Combines columns from matched rows of both tables.
|
Performance
|
It may have performance overhead, especially if there are many duplicate rows.
|
It generally more efficient for retrieving related data from multiple tables.
|
Duplicate Handling
|
It removes duplicate rows from the result set by default.
|
It does not handle duplicate rows by default. You may need to use DISTINCT or other methods to remove duplicates.
|
In short UNION and JOIN like tools for data. UNION meÂrges results of two or more SELECT queÂries, removing duplicate rows automatically. JOIN, however, retrieves data from numerous tableÂs based on a related column. GeÂnerally, JOIN is used to get data from two or more tables using a common column. While UNION is good at dealing with many tables and deleÂting duplicates. To remove duplicates with JOIN, you’ll neÂed to use DISTINCT.
Conclusion
This article shows how the MariaDB UNION operator handling data from seveÂral tables. We learneÂd it can merge results from diffeÂrent SELECT queries into one result. We also saw how to use UNION operator in MariaDB or can do that too with an example. Understanding the MariaDB UNION operator helps database pros propeÂrly manage data.
Share your thoughts in the comments
Please Login to comment...