Oracle Database SQL Certified Associate
1 Introduction to SQL
1-1 Overview of SQL
1-2 History of SQL
1-3 SQL Standards
2 SQL Data Types
2-1 Numeric Data Types
2-2 Character Data Types
2-3 Date and Time Data Types
2-4 Large Object (LOB) Data Types
2-5 Miscellaneous Data Types
3 Creating and Managing Tables
3-1 Creating Tables
3-2 Modifying Tables
3-3 Dropping Tables
3-4 Table Constraints
3-5 Temporary Tables
4 Data Manipulation Language (DML)
4-1 Inserting Data
4-2 Updating Data
4-3 Deleting Data
4-4 Selecting Data
4-5 Using Subqueries
5 Data Control Language (DCL)
5-1 Granting Privileges
5-2 Revoking Privileges
6 Data Definition Language (DDL)
6-1 Creating Tables
6-2 Altering Tables
6-3 Dropping Tables
6-4 Creating Indexes
6-5 Dropping Indexes
6-6 Creating Views
6-7 Dropping Views
7 SQL Functions
7-1 Single-Row Functions
7-2 Aggregate Functions
7-3 Group Functions
7-4 Analytical Functions
8 Joins and Subqueries
8-1 Inner Joins
8-2 Outer Joins
8-3 Self-Joins
8-4 Cross Joins
8-5 Subqueries
9 Set Operators
9-1 UNION
9-2 UNION ALL
9-3 INTERSECT
9-4 MINUS
10 Grouping and Aggregation
10-1 GROUP BY Clause
10-2 HAVING Clause
10-3 ROLLUP and CUBE
10-4 GROUPING SETS
11 Transactions and Concurrency
11-1 Transaction Control Statements
11-2 Locking and Concurrency
11-3 Isolation Levels
12 Oracle SQL Developer
12-1 Overview of Oracle SQL Developer
12-2 Using SQL Worksheet
12-3 Managing Connections
12-4 Running Scripts
13 Advanced SQL Topics
13-1 Recursive Queries
13-2 Model Clause
13-3 PIVOT and UNPIVOT
13-4 Flashback Query
14 Performance Tuning
14-1 Query Optimization
14-2 Indexing Strategies
14-3 Analyzing Query Performance
15 Security and Auditing
15-1 User Management
15-2 Role Management
15-3 Auditing SQL Statements
16 Backup and Recovery
16-1 Backup Strategies
16-2 Recovery Strategies
16-3 Using RMAN
17 Oracle Database Architecture
17-1 Overview of Oracle Database Architecture
17-2 Memory Structures
17-3 Process Structures
17-4 Storage Structures
18 PLSQL Basics
18-1 Introduction to PLSQL
18-2 PLSQL Block Structure
18-3 Variables and Data Types
18-4 Control Structures
18-5 Exception Handling
19 Oracle SQL Certification Exam Preparation
19-1 Exam Objectives
19-2 Sample Questions
19-3 Practice Tests
19-4 Exam Tips
Understanding UNION in Oracle SQL

Understanding UNION in Oracle SQL

Key Concepts

The UNION operator in Oracle SQL is used to combine the result sets of two or more SELECT statements into a single result set. Understanding the following key concepts is essential for effectively using UNION:

1. UNION Clause

The UNION clause is used to combine the results of two or more SELECT statements. It removes duplicate rows from the combined result set.

2. UNION ALL Clause

The UNION ALL clause is similar to UNION, but it does not remove duplicate rows. It includes all rows from all SELECT statements, including duplicates.

3. Column Compatibility

For UNION to work, the SELECT statements must have the same number of columns, and corresponding columns must have compatible data types.

4. ORDER BY Clause

The ORDER BY clause can be used to sort the combined result set. It should be placed at the end of the last SELECT statement.

5. Performance Considerations

Using UNION ALL is generally faster than UNION because it avoids the overhead of removing duplicates.

Detailed Explanation

1. UNION Clause

The UNION clause combines the result sets of two or more SELECT statements and removes duplicate rows. For example, to combine the results of two queries from different tables:

SELECT EmployeeID, FirstName, LastName FROM Employees UNION SELECT CustomerID, FirstName, LastName FROM Customers;

2. UNION ALL Clause

The UNION ALL clause combines the result sets of two or more SELECT statements without removing duplicate rows. For example:

SELECT OrderID, OrderDate FROM Orders UNION ALL SELECT OrderID, OrderDate FROM ArchivedOrders;

3. Column Compatibility

For UNION to work, the SELECT statements must have the same number of columns, and corresponding columns must have compatible data types. For example:

SELECT EmployeeID, FirstName, Salary FROM Employees UNION SELECT CustomerID, FirstName, 0 FROM Customers;

4. ORDER BY Clause

The ORDER BY clause can be used to sort the combined result set. It should be placed at the end of the last SELECT statement. For example:

SELECT EmployeeID, FirstName, Salary FROM Employees UNION SELECT CustomerID, FirstName, 0 FROM Customers ORDER BY Salary DESC;

5. Performance Considerations

Using UNION ALL is generally faster than UNION because it avoids the overhead of removing duplicates. For example:

SELECT OrderID, OrderDate FROM Orders UNION ALL SELECT OrderID, OrderDate FROM ArchivedOrders;

Examples and Analogies

Example 1: Combining Employee and Customer Data

Imagine you have two tables, one for employees and one for customers. You want to combine the names and IDs of both groups into a single list. You would use UNION:

SELECT EmployeeID, FirstName, LastName FROM Employees UNION SELECT CustomerID, FirstName, LastName FROM Customers;

Example 2: Combining Orders and Archived Orders

If you have a table for current orders and another for archived orders, and you want to see all orders without removing duplicates, you would use UNION ALL:

SELECT OrderID, OrderDate FROM Orders UNION ALL SELECT OrderID, OrderDate FROM ArchivedOrders;

Example 3: Sorting Combined Results

To sort the combined results of employees and customers by salary, you would use ORDER BY at the end of the UNION statement:

SELECT EmployeeID, FirstName, Salary FROM Employees UNION SELECT CustomerID, FirstName, 0 FROM Customers ORDER BY Salary DESC;