Oracle SQL topics which can cover :
š¹ Module 1: Introduction to Databases & Oracle
What is a Database?
Overview of RDBMS
Introduction to Oracle Database
SQL vs PL/SQL
Oracle Architecture Basics (optional)
š¹ Module 2: Basic SQL
Connecting to Oracle using SQL*Plus or SQL Developer
Data Types in Oracle
SELECT Statement Basics
Using Aliases
WHERE Clause (Filtering Data)
Logical Operators: AND, OR, NOT
Comparison Operators
š¹ Module 3: Functions & Expressions
Single Row (Scalar) Functions
Character Functions
Number Functions
Date Functions
Conversion Functions (TO_CHAR, TO_DATE, etc.)
Expressions & NULL Handling (NVL, COALESCE, etc.)
š¹ Module 4: Joins & Relationships
Types of Joins: Inner Join, Outer Joins (Left, Right, Full), Cross Join, Self Join
ANSI Join Syntax vs Oracle Join Syntax
Understanding Foreign Keys and Relationships
š¹ Module 5: Grouping & Aggregates
Aggregate Functions: SUM, AVG, MAX, MIN, COUNT
GROUP BY and HAVING Clauses
ROLLUP, CUBE, and GROUPING SETS (Advanced)
š¹ Module 6: Subqueries & Set Operators
Single-row and Multi-row Subqueries
Correlated Subqueries
EXISTS, IN, ANY, ALL
Set Operators: UNION, UNION ALL, INTERSECT, MINUS
š¹ Module 7: Data Manipulation Language (DML)
INSERT, UPDATE, DELETE
MERGE Statement
Transaction Control: COMMIT, ROLLBACK, SAVEPOINT
š¹ Module 8: Data Definition Language (DDL)
Creating Tables
Modifying Tables (ALTER)
Dropping Tables
Constraints:
PRIMARY KEY, FOREIGN KEY
UNIQUE, NOT NULL, CHECK
š¹ Module 9: Views, Indexes, and Sequences
Creating and Managing Views
Indexes (B-Tree, Bitmap)
Sequences
Synonyms
š¹ Module 10: Advanced Topics
Analytical Functions (RANK(), DENSE_RANK(), ROWNUM, ROWID, LEAD, LAG)
Hierarchical Queries (CONNECT BY, START WITH)
Inline Views and WITH Clause (Common Table Expressions)
Materialized Views (basic intro)
š¹ Module 11: Security & User Management (optional)
Creating Users and Roles
Granting and Revoking Privileges
Ā
Oracle PL/SQL topics to cover :
š¹ Module 1: Introduction to PL/SQL
What is PL/SQL?
Advantages of PL/SQL over SQL
PL/SQL Block Structure
Anonymous Blocks
Declaration, Execution, Exception Handling sections
Basic Syntax & Conventions
Writing and Executing PL/SQL Blocks
š¹ Module 2: Variables, Constants & Data Types
Declaring Variables and Constants
Data Types (Scalar, Composite, Reference)
%TYPE and %ROWTYPE
Variable Scope and Anchoring
š¹ Module 3: Control Structures
Conditional Statements (IF, IF-THEN-ELSE)
Iterative Statements:
LOOP, WHILE LOOP, FOR LOOP
EXIT, EXIT WHEN, and Nested Loops
š¹ Module 4: Cursors
What are Cursors?
Implicit vs Explicit Cursors
Cursor Attributes (%FOUND, %NOTFOUND, %ROWCOUNT)
FOR Loops with Cursors
Parameterized Cursors
Cursor FOR UPDATE and WHERE CURRENT OF
š¹ Module 5: Exception Handling
Predefined Exceptions
User-defined Exceptions
RAISE, RAISE_APPLICATION_ERROR
Exception Propagation
š¹ Module 6: Stored Procedures and Functions
Creating Procedures
IN, OUT, IN OUT Parameters
Creating Functions
Calling Functions/Procedures from SQL and PL/SQL
Differences between Procedures and Functions
š¹ Module 7: Packages
What is a Package?
Package Specification vs Body
Creating and Using Packages
Package Initialization
Advantages of Using Packages
š¹ Module 8: Triggers
What are Triggers?
Types: BEFORE, AFTER, INSTEAD OF
Row-level vs Statement-level
DML Triggers
Using :NEW and :OLD
Mutating Table Error
š¹ Module 9: Advanced PL/SQL Concepts
Bulk Collect & FORALL (Performance tuning)
Records and Tables (Collections)
Associative Arrays
Nested Tables
VARRAYs
Object Types and Methods (Introductory)
Autonomous Transactions
š¹ Module 10: Dynamic SQL
Introduction to EXECUTE IMMEDIATE
DBMS_SQL Package (Advanced)
SQL Injection Awareness
š¹ Module 11: PL/SQL Best Practices
Code Formatting & Readability
Exception Handling Best Practices
Code Reusability
Debugging and Testing with DBMS_OUTPUT and SQL Developer
Interview questions and answers on SQL and PL/SQL