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
19-1 Exam Objectives for Oracle Database SQL Certified Associate

19-1 Exam Objectives for Oracle Database SQL Certified Associate

Key Concepts

1. SQL Data Definition Language (DDL)

DDL commands are used to define the database structure. This includes creating, altering, and dropping tables, indexes, and other database objects.

Example:

Creating a table:

CREATE TABLE employees ( employee_id NUMBER(6), first_name VARCHAR2(20), last_name VARCHAR2(25), hire_date DATE );

2. SQL Data Manipulation Language (DML)

DML commands are used to manipulate data within the database. This includes inserting, updating, and deleting data.

Example:

Inserting data into a table:

INSERT INTO employees (employee_id, first_name, last_name, hire_date) VALUES (101, 'John', 'Doe', TO_DATE('2023-01-15', 'YYYY-MM-DD'));

3. SQL Data Control Language (DCL)

DCL commands are used to control access to the database. This includes granting and revoking privileges.

Example:

Granting privileges:

GRANT SELECT, INSERT ON employees TO hr_user;

4. SQL Transaction Control Language (TCL)

TCL commands are used to manage transactions within the database. This includes committing, rolling back, and saving transactions.

Example:

Committing a transaction:

COMMIT;

5. SQL Queries

SQL queries are used to retrieve data from the database. This includes SELECT statements with various clauses such as WHERE, GROUP BY, and ORDER BY.

Example:

Selecting data from a table:

SELECT first_name, last_name, hire_date FROM employees WHERE hire_date > TO_DATE('2022-01-01', 'YYYY-MM-DD') ORDER BY hire_date DESC;

6. Joins

Joins are used to combine rows from two or more tables based on a related column between them. This includes INNER JOIN, LEFT JOIN, RIGHT JOIN, and FULL JOIN.

Example:

Using an INNER JOIN:

SELECT employees.first_name, employees.last_name, departments.department_name FROM employees INNER JOIN departments ON employees.department_id = departments.department_id;

7. Subqueries

Subqueries are queries nested within another query. They can be used in SELECT, FROM, WHERE, and HAVING clauses.

Example:

Using a subquery in a WHERE clause:

SELECT first_name, last_name FROM employees WHERE department_id IN (SELECT department_id FROM departments WHERE location_id = 1700);

8. Set Operators

Set operators are used to combine the results of two or more SELECT statements. This includes UNION, UNION ALL, INTERSECT, and MINUS.

Example:

Using UNION:

SELECT employee_id FROM employees UNION SELECT employee_id FROM retired_employees;

9. Aggregate Functions

Aggregate functions perform a calculation on a set of values and return a single value. This includes functions like COUNT, SUM, AVG, MIN, and MAX.

Example:

Using SUM:

SELECT SUM(salary) AS total_salary FROM employees;

10. Grouping and Filtering

Grouping and filtering are used to organize and filter data. This includes GROUP BY and HAVING clauses.

Example:

Using GROUP BY and HAVING:

SELECT department_id, AVG(salary) AS avg_salary FROM employees GROUP BY department_id HAVING AVG(salary) > 5000;

11. Data Types

Data types define the type of data that can be stored in a column. This includes numeric, character, date, and large object (LOB) types.

Example:

Defining data types in a table:

CREATE TABLE products ( product_id NUMBER(6), product_name VARCHAR2(50), price NUMBER(8,2), release_date DATE );

12. Constraints

Constraints are used to enforce rules on the data in a table. This includes NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, and CHECK constraints.

Example:

Adding a PRIMARY KEY constraint:

ALTER TABLE employees ADD CONSTRAINT pk_employees PRIMARY KEY (employee_id);

13. Indexes

Indexes are used to improve the performance of data retrieval operations. They can be created on one or more columns of a table.

Example:

Creating an index:

CREATE INDEX idx_last_name ON employees (last_name);

14. Views

Views are virtual tables based on the result-set of an SQL statement. They can simplify complex queries and control access to data.

Example:

Creating a view:

CREATE VIEW employee_details AS SELECT employee_id, first_name, last_name, hire_date FROM employees;

15. Sequences

Sequences are used to generate unique numeric values. They are often used to create primary key values.

Example:

Creating a sequence:

CREATE SEQUENCE employee_seq START WITH 100 INCREMENT BY 1;

16. Synonyms

Synonyms are alternative names for database objects. They can simplify object access and provide security by hiding object names and owners.

Example:

Creating a synonym:

CREATE SYNONYM emp FOR employees;

17. PL/SQL Basics

PL/SQL is Oracle's procedural language extension to SQL. It allows for the creation of stored procedures, functions, triggers, and packages.

Example:

Creating a PL/SQL block:

DECLARE v_name VARCHAR2(50); BEGIN SELECT first_name || ' ' || last_name INTO v_name FROM employees WHERE employee_id = 101; DBMS_OUTPUT.PUT_LINE('Employee Name: ' || v_name); END;

18. Triggers

Triggers are PL/SQL blocks that are automatically executed in response to specific events, such as INSERT, UPDATE, or DELETE operations on a table.

Example:

Creating a trigger:

CREATE OR REPLACE TRIGGER check_salary_before_insert BEFORE INSERT ON employees FOR EACH ROW BEGIN IF :NEW.salary < 1000 THEN RAISE_APPLICATION_ERROR(-20001, 'Salary too low'); END IF; END;

19. Data Dictionary Views

Data dictionary views provide information about the database objects and their definitions. They are essential for database administration and monitoring.

Example:

Querying the data dictionary:

SELECT table_name, column_name, data_type FROM user_tab_columns WHERE table_name = 'EMPLOYEES';