Oracle Syllabus

SQL


Writing Basic SQL SELECT Statements

Basic SELECT Statement
Selecting All Columns
Selecting Specific Columns
Writing SQL Statements
Column Heading Defaults
Arithmetic Expressions
Using Arithmetic Operators
Operator Precedence
Using Parentheses
Defining a Null Value
Null Values in Arithmetic Expressions
Defining a Column Alias
Using Column Aliases
Concatenation Operator
Using the Concatenation Operator
Literal Character Strings
Using Literal Character Strings
Duplicate Rows
Eliminating Duplicate Rows

Restricting and Sorting Data

Limiting Rows Using a Selection
Limiting the Rows Selected
Using the WHERE Clause
Character Strings and Dates
Comparison Conditions
Using Comparison Conditions
Other Comparison Conditions
Using the BETWEEN Condition
Using the IN Condition
Using the LIKE Condition
Using the NULL Conditions
Logical Conditions
Using the AND Operator
Using the OR Operator
Using the NOT Operator
Rules of Precedence
ORDER BY Clause
Sorting in Descending Order
Sorting by Column Alias
Sorting by Multiple Columns

Single-Row Functions

SQL Function
Two Types of SQL Functions
Single-Row Functions
Single-Row Functions
Character Functions
Character Functions
Case Manipulation Functions
Using Case Manipulation Functions
Character-Manipulation Functions
Using the Character-Manipulation Functions
Number Functions
Using the ROUND Function
Using the TRUNC Function
Using the MOD Function
Working with Dates
Arithmetic with Dates
Using Arithmetic Operators with Dates
Date Functions
Using Date Functions
Practice 3, Part One:
Conversion Functions
Implicit Data Type Conversion
Explicit Data Type Conversion
Using the TO_CHAR Function with Dates
Elements of the Date Format Model
Using the TO_CHAR Function with Dates
Using the TO_CHAR Function with Numbers
Using the TO_NUMBER and TO_DATE Functions
RR Date Format
Example of RR Date Format
Nesting Functions
General Functions
NVL Function
Using the NVL Function
Using the NVL2 Function
Using the NULLIF Function
Using the COALESCE Function
Conditional Expressions
The CASE Expression
Using the CASE Expression
The DECODE Function
Using the DECODE Function

Displaying Data from Multiple Tables

Obtaining Data from Multiple Tables
Cartesian Products
Generating a Cartesian Product
Types of Joins
Joining Tables Using Oracle Syntax
What is an Equijoin?
Retrieving Records with Equijoins
Additional Search Conditions Using the AND Operator
Qualifying Ambiguous Column Names
Using Table Aliases
Joining More than Two Tables
Non-Equijoins
Retrieving Records with Non-Equijoins
Outer Joins Outer Joins Syntax
Using Outer Joins
Self Joins
Joining a Table to Itself
Joining Tables Using SQL: 1999 Syntax
Creating Cross Joins
Creating Natural Joins
Retrieving Records with Natural Joins
Creating Joins with the USING Clause
Retrieving Records with the USING Clause
Creating Joins with the ON Clause
Retrieving Records with the ON Clause
Creating Three-Way Joins with the ON Clause
INNER Versus OUTER Joins
LEFT OUTER JOIN
RIGHT OUTER JOIN
FULL OUTER JOIN
Additional Conditions

Aggregating Data Using Group Functions

What Are Group Functions?
Types of Group Functions
Group Functions Syntax
Using the AVG and SUM Functions
Using the MIN and MAX Functions
Using the COUNT Function
Using the DISTINCT Keyword
Group Functions and Null Values
Using the NVL Function with Group Functions
Creating Groups of Data
Creating Groups of Data: The GROUP BY Clause Syntax
Using the GROUP BY Clause
Grouping by More Than One Column
Using the GROUP BY Clause on Multiple Columns
Illegal Queries Using Group Functions
Excluding Group Results
Excluding Group Results: The HAVING Clause
Using the HAVING Clause
Nesting Group Functions

Subqueries

Objectives
Using a Subquery to Solve a Problem
Subquery Syntax
Using a Subquery
Guidelines for Using Subqueries
Types of Subqueries
Single-Row Subqueries
Executing Single-Row Subqueries
Using Group Functions in a Subquery
The HAVING Clause with Subqueries
What is Wrong with this Statement?
Will this Statement Return Rows?
Multiple-Row Subqueries
Using the ANY Operator in Multiple-Row Subqueries
Using the ALL Operator in Multiple-Row Subqueries
Null Values in a Subquery

Manipulating Data

Data Manipulation Language
Adding a New Row to a Table
The INSERT Statement Syntax 8-5
Inserting New Rows
Inserting Rows with Null Values
Inserting Special Values
Inserting Specific Date Values
Creating a Script
Copying Rows from Another Table
Changing Data in a Table
The UPDATE Statement Syntax
Updating Rows in a Table
Updating Two Columns with a Subquery
Updating Rows Based on Another Table
Updating Rows: Integrity Constraint Error
Removing a Row from a Table
The DELETE Statement
Deleting Rows from a Table
Deleting Rows Based on Another Table
Deleting Rows: Integrity Constraint Error
Using a Subquery in an INSERT Statement
Using the WITH CHECK OPTION Keyword on DML Statements
Overview of the Explicit Default Feature
Using Explicit Default Values
The MERGE Statement
The MERGE Statement Syntax
Merging Rows
Database Transactions
Advantages of COMMIT and ROLLBACK Statements
Controlling Transactions
Rolling Back Changes to a Marker
Implicit Transaction Processing
State of the Data Before COMMIT or ROLLBACK
State of the Data after COMMIT
Committing Data
State of the Data After ROLLBACK
Statement-Level Rollback
Read Consistency
Implementation of Read Consistency
Locking
Implicit Locking
Read Consistency Example

Creating and Managing Tables

Database Objects
Naming Rules
The CREATE TABLE Statement
Referencing Another User?s Tables
The DEFAULT Option
Creating Tables
Tables in the Oracle Database
Querying the Data Dictionary 9-10
Data Types
DateTime Data Types
TIMESTAMP WITH TIME ZONE Data Type
TIMESTAMP WITH LOCAL TIME Data Type
INTERVAL YEAR TO MONTH Data Type
INTERVAL DAY TO SECOND Data Type
Creating a Table by Using a Subquery Syntax
Creating a Table by Using a Subquery
The ALTER TABLE Statement
Adding a Column
Modifying a Column
Dropping a Column
The SET UNUSED Option
Dropping a Table
Changing the Name of an Object
Truncating a Table
Adding Comments to a Table

Including Constraints

What are Constraints?
Constraint Guidelines
Defining Constraints
The NOT NULL Constraint
The UNIQUE Constraint
The PRIMARY KEY Constraint
The FOREIGN KEY Constraint
FOREIGN KEY Constraint Keywords
The CHECK Constraint
Adding a Constraint Syntax
Adding a Constraint
Dropping a Constraint
Disabling Constraints
Enabling Constraints
Cascading Constraints
Viewing Constraints
Viewing the Columns Associated with Constraints

Creating Views

Database Objects
What is a View?
Why use Views?
Simple Views and Complex Views
Creating a View
Retrieving Data from a View
Querying a View
Modifying a View
Creating a Complex View
Rules for Performing DML Operations on a View
Using the WITH CHECK OPTION Clause
Denying DML Operations
Removing a View
Inline Views
Top-N Analysis
Performing Top-N Analysis
Example of Top-N Analysis

Other Database Objects

Database Objects
What is a Sequence?
The CREATE SEQUENCE Statement Syntax
Creating a Sequence
Confirming Sequences
NEXTVAL and CURRVAL Pseudocolumns
Using a Sequence
Modifying a Sequence
Guidelines for Modifying a Sequence
Removing a Sequence
What is an Index?
How Are Indexes Created?
Creating an Index
When to Create an Index
When Not to Create an Index
Confirming Indexes
Function-Based Indexes
Removing an Index
Creating and Removing Synonyms

Controlling User Access

Objectives
Controlling User Access
Privileges
System Privileges
Creating Users
User System Privileges
Granting System Privileges
What is a Role?
Creating and Granting Privileges to a Role
Changing Your Password
Object Privileges
Granting Object Privileges
Using the WITH GRANT OPTION and PUBLIC Keywords
Confirming Privileges Granted
How to Revoke Object Privileges
Revoking Object Privileges
Database Links

SQL Workshop

Workshop Overview

Using SET Operators

The SET Operators
Tables Used in This Lesson
The UNION Operator
Using the UNION Operator
The UNION ALL Operator
Using the UNION ALL Operator
The INTERSECT Operator
Using the INTERSECT Operator
The MINUS Operator
SET Operator Guidelines
The Oracle Server and SET Operators
Matching the SELECT Statements
Controlling the Order of Rows

Enhancements to the GROUP BY Clause

Review of Group Functions
Review of the GROUP BY Clause
Review of the HAVING Clause
GROUP BY with ROLLUP and CUBE Operators
ROLLUP Operator
ROLLUP Operator Example
CUBE Operator
CUBE Operator: Example
GROUPING Function
GROUPING Function: Example
GROUPING SETS
GROUPING SETS: Example
Composite Columns
Composite Columns: Example
Concatenated Groupings
Concatenated Groupings Example

Advanced Subqueries

What Is a Subquery?
Subqueries
Using a Subquery
Multiple-Column Subqueries
Column Comparisons
Pairwise Comparison Subquery
Nonpairwise Comparison Subquery
Using a Subquery in the FROM Clause
Scalar Subquery Expressions
Scalar Subqueries: Examples
Correlated Subqueries
Using Correlated Subqueries
Using the EXISTS Operator
Using the NOT EXISTS Operator
Correlated UPDATE
Correlated DELETE
The WITH Clause
WITH Clause: Example

Hierarchical Retrieval

Sample Data from the EMPLOYEES Table
Natural Tree Structure
Hierarchical Queries
Walking the Tree
Walking the Tree: From the Bottom Up
Walking the Tree: From the Top Down
Ranking Rows with the LEVEL Pseudocolumn
Formatting Hierarchical Reports Using LEVEL and LPAD
Pruning Branches

Extensions to DML and DDL Statements

Review of the INSERT Statement
Review of the UPDATE Statement
Overview of Multitable INSERT Statements
Overview of Multitable INSERT Statements
Types of Multitable INSERT Statements
Multitable INSERT Statements
Unconditional INSERT ALL
Conditional INSERT ALL
Conditional FIRST INSERT
Pivoting INSERT
External Tables
Creating an External Table
Example of Creating an External Table
Querying External Tables
CREATE INDEX with CREATE TABLE Statement

Plsql syllabus


Part I: Programming in PL/SQL

Introduction to PL/SQL
What Is PL/SQL?
The Origins of PL/SQL
About PL/SQL Versions
Resources for PL/SQL Developers

Creating and Running PL/SQL Code

SQL*Plus
Performing Essential PL/SQL Tasks
Calling PL/SQL from Other Languages
Language Fundamentals
PL/SQL Block Structure
The PL/SQL Character Set
Identifiers
Literals
The Semicolon Delimiter
Comments
The PRAGMA Keyword
Labels

Part II: PL/SQL Program Structure

Conditional and Sequential Control
IF Statements
CASE Statements and Expressions
The GOTO Statement
The NULL Statement
Iterative Processing with Loops

Loop Basics

The Simple Loop
The WHILE Loop
The Numeric FOR Loop
The Cursor FOR Loop
Loop Labels
Tips for Iterative Processing

Exception Handlers

Exception-Handling Concepts and Terminology
Defining Exceptions
Raising Exceptions
Handling Exceptions
Building an Effective Error Management Architecture
Making the Most of PL/SQL Error Management

Part III: PL/SQL Program Data

Working with Program Data
Naming Your Program Data
Overview of PL/SQL Datatypes
Declaring Program Data
Programmer-Defined Subtypes
Conversion Between Datatypes

Strings

String Datatypes
Working with Strings
String Function Quick Reference

Numbers

Numeric Datatypes
Number Conversions
Numeric Functions

Records


Records in PL/SQL

Collections

Collections Overview
Collection Methods (Built-Ins)
Working with Collections
Nested Table Multiset Operations
Maintaining Schema-Level Collections

Miscellaneous Datatypes

The BOOLEAN Datatype
The RAW Datatype
The UROWID and ROWID Datatypes
The LOB Datatypes
Working with LOBs
Predefined Object Types

Part IV: SQL in PL/SQL

DML and Transaction Management
DML in PL/SQL
Bulk DML with the FORALL Statement
Transaction Management
Autonomous Transactions

Data Retrieval

Cursor Basics
Working with Implicit Cursors
Working with Explicit Cursors
BULK COLLECT
SELECT ... FOR UPDATE
Cursor Variables and REF CURSORs
Cursor Expressions

Procedures, Functions, and Parameters

Procedures
Functions
Parameters
Local Modules
Module Overloading
Forward Declarations
Advanced Topics
Go Forth and Modularize!

Packages

Why Packages?
Rules for Building Packages
Rules for Calling Packaged Elements
Working with Package Data
When to Use Packages
Packages and Object Types

Triggers

DML Triggers
DDL Triggers
Database Event Triggers
INSTEAD OF Triggers
AFTER SUSPEND Triggers
Maintaining Triggers

Managing PL/SQL Code

Managing Code in the Database
Using Native Compilation
Using the Optimizing Compiler and Compile-Time Warnings
Conditional Compilation
Testing PL/SQL Programs
Debugging PL/SQL Programs
Tuning PL/SQL Programs
Protecting Stored Code

I/O and PL/SQL

Displaying Information
Reading and Writing Files
Sending Email
Working with Web-Based Data (HTTP)
Other Types of I/O Available in PL/SQL

Oracle Forms


Oracle Forms Developer 10g: Build Internet Applications

Introducing Oracle Forms Developer and Forms Services
Grid Computing
Oracle 10g Products
Oracle Application Server 10g Architecture
Benefits and Components of Oracle Developer Suite 10g
Running a Forms Developer Application
Working in the Forms Developer Environment
Creating Forms Modules
Working with Data Blocks and Frames
Working with Input Items
Working with Non Input Items
Working with Windows and Canvases
Producing Triggers
Debugging Triggers
Adding Functionality to Items
Run-Time Messages and Alerts
Query Triggers
Validation
Navigation
Transaction Processing
Sharing Objects and Code
Using WebUtil to Interact with the Client
Introducing Multiple Form Applications

Oracle Reports


Oracle Reports Developer 10g: Build Reports

Introduction to Oracle Reports Developer
Business Intelligence
Enterprise Reporting
Oracle Reports Developer
Oracle Database 10g
Oracle Developer Suite 10g
Oracle Application Server 10g
OracleAS Reports Services
OracleAS Reports Services Architecture for the Web
Designing and Running Reports
Exploring Oracle Reports Developer
Creating a Paper Report
Enhancing a Basic Paper Report
Managing Report Templates
Creating a Web Report
Enhancing Reports Using the Data Model: Queries and Groups
Enhancing Reports Using the Data Model: Data Sources
Enhancing Reports Using the Data Model: Creating Columns
Enhancing Reports Using the Paper Layout
Controlling the Paper Layout: Common Properties
Controlling the Paper Layout: Specific Properties
Web Reporting
Extending Functionality Using XML
Creating and Using Report Parameters
Embedding a Graph in a Report
Enhancing Matrix Reports
Coding PL/SQL Triggers
Extending Functionality Using the SRW Package
Maximizing Performance Using
OracleAS Reports Services
Building Reports: Efficiency Guidelines
Working with SQL Worksheet
Using SQL Developer