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
Set Operators in Oracle SQL

Set Operators in Oracle SQL

Set operators in Oracle SQL are used to combine the results of two or more queries into a single result set. These operators are essential for performing complex queries that involve multiple datasets. Understanding these operators is crucial for effectively querying and analyzing data in Oracle databases.

Key Concepts

1. UNION

The UNION operator combines the results of two or more SELECT statements into a single result set. It removes duplicate rows from the combined result set.

Example:

Combining the results of two queries to get a list of unique employees and contractors:

SELECT EmployeeID, FirstName, LastName FROM Employees UNION SELECT ContractorID, FirstName, LastName FROM Contractors;

2. UNION ALL

The UNION ALL operator is similar to UNION, but it does not remove duplicate rows. It simply combines all rows from the queries.

Example:

Combining the results of two queries to get a list of all employees and contractors, including duplicates:

SELECT EmployeeID, FirstName, LastName FROM Employees UNION ALL SELECT ContractorID, FirstName, LastName FROM Contractors;

3. INTERSECT

The INTERSECT operator returns only the rows that are common to both result sets of the SELECT statements.

Example:

Finding employees who are also listed as contractors:

SELECT EmployeeID FROM Employees INTERSECT SELECT ContractorID FROM Contractors;

4. MINUS

The MINUS operator returns the rows from the first SELECT statement that are not present in the second SELECT statement.

Example:

Finding employees who are not listed as contractors:

SELECT EmployeeID FROM Employees MINUS SELECT ContractorID FROM Contractors;

5. ORDER BY Clause

The ORDER BY clause can be used with set operators to sort the combined result set. It must be placed at the end of the combined query.

Example:

Combining and sorting the results of two queries:

SELECT EmployeeID, FirstName, LastName FROM Employees UNION SELECT ContractorID, FirstName, LastName FROM Contractors ORDER BY LastName;

6. Column Compatibility

When using set operators, the number and data types of the columns in all SELECT statements must be compatible. This ensures that the combined result set is meaningful.

Example:

Combining queries with compatible columns:

SELECT EmployeeID, FirstName, LastName FROM Employees UNION SELECT ContractorID, FirstName, LastName FROM Contractors;

7. Aliases

Column aliases defined in the first SELECT statement are used in the combined result set. Aliases defined in subsequent SELECT statements are ignored.

Example:

Using aliases in the combined result set:

SELECT EmployeeID AS ID, FirstName, LastName FROM Employees UNION SELECT ContractorID, FirstName, LastName FROM Contractors;

8. Nested Set Operators

Set operators can be nested within each other to perform complex queries. This allows for multiple levels of combining and filtering data.

Example:

Nesting set operators to find common employees and contractors:

SELECT EmployeeID FROM Employees INTERSECT (SELECT ContractorID FROM Contractors UNION SELECT EmployeeID FROM Employees);

9. Performance Considerations

Using set operators can impact query performance, especially with large datasets. It is important to optimize queries and consider indexing strategies to ensure efficient execution.

Example:

Optimizing a query using set operators:

SELECT EmployeeID FROM Employees WHERE EmployeeID IN (SELECT ContractorID FROM Contractors) UNION SELECT ContractorID FROM Contractors WHERE ContractorID IN (SELECT EmployeeID FROM Employees);

By mastering these set operators, you can effectively combine and analyze data from multiple queries in Oracle SQL, making your queries more powerful and flexible.