🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
Introduction
In this chapter, we will learn how to use the UNION operator in SQL. The UNION operator is used to combine the result sets of two or more SELECT statements into a single result set. This chapter will cover the syntax, usage, and provide examples to help you understand how to use the UNION operator effectively.
What is the UNION Operator?
The UNION operator is used to combine the results of two or more SELECT statements. Each SELECT statement within the UNION must have the same number of columns in the result sets with similar data types. The UNION operator removes duplicate records by default.
Syntax for UNION
Basic Syntax
SELECT column1, column2, ...
FROM table1
UNION
SELECT column1, column2, ...
FROM table2;
column1, column2, ...: The columns you want to retrieve.table1, table2, ...: The names of the tables from which you want to retrieve data.
Example
Assume we have two tables named employees and contractors:
SELECT first_name, last_name, email
FROM employees
UNION
SELECT first_name, last_name, email
FROM contractors;
This command retrieves the first_name, last_name, and email columns from both the employees and contractors tables and combines them into a single result set, removing any duplicate records.
Step-by-Step Example
1. Create Sample Tables
First, we will create two sample tables named employees and contractors.
CREATE TABLE employees (
id INT PRIMARY KEY AUTO_INCREMENT,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(100),
department_id INT,
salary DECIMAL(10, 2)
);
CREATE TABLE contractors (
id INT PRIMARY KEY AUTO_INCREMENT,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(100),
hourly_rate DECIMAL(10, 2)
);
CREATE TABLE departments (
department_id INT PRIMARY KEY,
department_name VARCHAR(50)
);
2. Insert Sample Data
INSERT INTO employees (first_name, last_name, email, department_id, salary)
VALUES
('Ramesh', 'Kumar', 'ramesh.kumar@example.com', 1, 50000),
('Sita', 'Patel', 'sita.patel@example.com', 2, 60000),
('Arjun', 'Singh', 'arjun.singh@example.com', 1, 55000);
INSERT INTO contractors (first_name, last_name, email, hourly_rate)
VALUES
('Priya', 'Sharma', 'priya.sharma@example.com', 40),
('Ravi', 'Verma', 'ravi.verma@example.com', 35),
('Sita', 'Patel', 'sita.patel@example.com', 45);
INSERT INTO departments (department_id, department_name)
VALUES
(1, 'HR'),
(2, 'Finance'),
(3, 'IT');
3. Using the UNION Operator
To retrieve combined first_name, last_name, and email from both employees and contractors:
SELECT first_name, last_name, email
FROM employees
UNION
SELECT first_name, last_name, email
FROM contractors;
Output
| first_name | last_name | |
|---|---|---|
| Ramesh | Kumar | ramesh.kumar@example.com |
| Sita | Patel | sita.patel@example.com |
| Arjun | Singh | arjun.singh@example.com |
| Priya | Sharma | priya.sharma@example.com |
| Ravi | Verma | ravi.verma@example.com |
4. Using UNION ALL
The UNION ALL operator is used to combine the results of two or more SELECT statements, including duplicate records.
Example
To retrieve combined first_name, last_name, and email from both employees and contractors, including duplicates:
SELECT first_name, last_name, email
FROM employees
UNION ALL
SELECT first_name, last_name, email
FROM contractors;
Output
| first_name | last_name | |
|---|---|---|
| Ramesh | Kumar | ramesh.kumar@example.com |
| Sita | Patel | sita.patel@example.com |
| Arjun | Singh | arjun.singh@example.com |
| Priya | Sharma | priya.sharma@example.com |
| Ravi | Verma | ravi.verma@example.com |
| Sita | Patel | sita.patel@example.com |
5. Using UNION with Different Columns
To use the UNION operator, the number of columns and their data types must be the same. You can use aliases to make sure the columns match.
Example
To retrieve first_name, last_name, and a calculated payment column from both employees and contractors:
SELECT first_name, last_name, salary AS payment
FROM employees
UNION
SELECT first_name, last_name, hourly_rate * 40 * 4 AS payment
FROM contractors;
Output
| first_name | last_name | payment |
|---|---|---|
| Ramesh | Kumar | 50000.00 |
| Sita | Patel | 60000.00 |
| Arjun | Singh | 55000.00 |
| Priya | Sharma | 6400.00 |
| Ravi | Verma | 5600.00 |
| Sita | Patel | 7200.00 |
Using ORDER BY with UNION
You can use the ORDER BY clause to sort the combined result set. The ORDER BY clause should be placed at the end of the last SELECT statement.
Example
To retrieve combined first_name, last_name, and email from both employees and contractors and sort by last_name:
SELECT first_name, last_name, email
FROM employees
UNION
SELECT first_name, last_name, email
FROM contractors
ORDER BY last_name;
Output
| first_name | last_name | |
|---|---|---|
| Ramesh | Kumar | ramesh.kumar@example.com |
| Arjun | Singh | arjun.singh@example.com |
| Sita | Patel | sita.patel@example.com |
| Priya | Sharma | priya.sharma@example.com |
| Ravi | Verma | ravi.verma@example.com |
Conclusion
The UNION operator is used for combining the results of multiple SELECT statements into a single result set. This chapter covered the basic syntax, using UNION and UNION ALL, using UNION with different columns, and sorting the combined result set. Understanding how to use the UNION operator effectively will enhance your ability to query and analyze your database data.
My Top and Bestseller Udemy Courses. The sale is going on with a 70 - 80% discount. The discount coupon has been added to each course below:
Build REST APIs with Spring Boot 4, Spring Security 7, and JWT
[NEW] Learn Apache Maven with IntelliJ IDEA and Java 25
ChatGPT + Generative AI + Prompt Engineering for Beginners
Spring 7 and Spring Boot 4 for Beginners (Includes 8 Projects)
Available in Udemy for Business
Building Real-Time REST APIs with Spring Boot - Blog App
Available in Udemy for Business
Building Microservices with Spring Boot and Spring Cloud
Available in Udemy for Business
Java Full-Stack Developer Course with Spring Boot and React JS
Available in Udemy for Business
Build 5 Spring Boot Projects with Java: Line-by-Line Coding
Testing Spring Boot Application with JUnit and Mockito
Available in Udemy for Business
Spring Boot Thymeleaf Real-Time Web Application - Blog App
Available in Udemy for Business
Master Spring Data JPA with Hibernate
Available in Udemy for Business
Spring Boot + Apache Kafka Course - The Practical Guide
Available in Udemy for Business
Comments
Post a Comment
Leave Comment