oracle database 10g: sql fundamentals i - stikom...

64
Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11 Production 1.1 August 2004 D39769 ®

Upload: ngokhanh

Post on 05-Apr-2018

252 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Oracle Database 10g: SQL

Fundamentals I

Electronic Presentation

D17108GC11

Production 1.1

August 2004

D39769

®

Page 2: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

This documentation contains proprietary information of Oracle Corporation. It is provided under a

license agreement containing restrictions on use and disclosure and is also protected by copyright

law. Reverse engineering of the software is prohibited. If this documentation is delivered to a U.S.

Government Agency of the Department of Defense, then it is delivered with Restricted Rights and the

following legend is applicable:

Restricted Rights Legend

Use, duplication or disclosure by the Government is subject to restrictions for commercial computer

software and shall be deemed to be Restricted Rights software under Federal law, as set forth in

subparagraph (c)(1)(ii) of DFARS 252.227-7013, Rights in Technical Data and Computer Software

(October 1988).

This material or any portion of it may not be copied in any form or by any means without the express

prior written permission of Oracle Corporation. Any other copying is a violation of copyright law and

may result in civil and/or criminal penalties.

If this documentation is delivered to a U.S. Government Agency not within the Department of

Defense, then it is delivered with “Restricted Rights,” as defined in FAR 52.227-14, Rights in Data-

General, including Alternate III (June 1987).

The information in this document is subject to change without notice. If you find any problems in the

documentation, please report them in writing to Education Products, Oracle Corporation, 500 Oracle

Parkway, Box SB-6, Redwood Shores, CA 94065. Oracle Corporation does not warrant that this

document is error-free.

Oracle and all references to Oracle products are trademarks or registered trademarks of Oracle

Corporation.

All other products or company names are used for identification purposes only, and may be

trademarks of their respective owners.

Author

Nancy Greenberg

Technical Contributors

and Reviewers

Wayne Abbott Christian BauwensPerry BensonBrian BoxxZarko CesljasDairy ChanLaszlo CzinkoczkiMarjolein DekkersMatthew GregoryStefan GrenstadJoel GoodmanRosita HanomanSushma JagannathAngelika KruppChristopher LawlessMarcelo ManzanoIsabelle MarchandMalika MarghadiValli PataballaElspeth PayneLigia Jasmin RobayoBryan RobertsHelen RobertsonLata ShivaprasadJohn SoltaniPriya VennapusaKen Woolfe

Publisher

Jobi Varghese

Page 3: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Introduction

Page 4: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Lesson Objectives

After completing this lesson, you should be able to do

the following:

• List the features of Oracle10g

• Discuss the theoretical and physical aspects of a

relational database

• Describe the Oracle implementation of the RDBMS

and ORDBMS

• Understand the goals of the course

Page 5: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Goals of the Course

After completing this course, you should be able to do

the following:

• Identify the major structural components of

Oracle Database 10g

• Retrieve row and column data from tables with the SELECT statement

• Create reports of sorted and restricted data

• Employ SQL functions to generate and retrieve

customized data

• Run data manipulation language (DML) statements

to update data in Oracle Database 10g

• Obtain metadata by querying the dictionary views

Page 6: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Oracle10g

Single

development

model

Common

skill sets

ReliabilityUnified

management

ScalabilityOne

vendor

Page 7: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Oracle10g

Page 8: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Oracle Database 10g

Multimedia

Object relational data

Messages

Documents

Page 9: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Oracle Application Server 10g

Application

development

framework

Application

server

Business intelligence

Portals

Integration

Transactional applications

Page 10: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Oracle Enterprise Manager 10g

Grid Control

• Software provisioning

• Application service level monitoring

Page 11: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Relational and Object Relational

Database Management Systems

• Relational model and object relational model

• User-defined data types and objects

• Fully compatible with relational database

• Support of multimedia and large objects

• High-quality database server features

Page 12: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Oracle Internet PlatformS

yste

m m

an

ag

em

en

t

Network services

Databases Applicationservers

Internet applications

Anybrowser

AnyFTP client

Anymail client

SQL

PL/SQL

Java

Clients

Presentation and

business logic

Business logic

and data

De

velo

pm

en

t too

ls

Page 13: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

System Development Life Cycle

Strategy

and

analysis

Design

Build

and

document

Transition

Production

Page 14: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Data Storage on Different Media

Electronic

spreadsheet Filing cabinet

Database

Page 15: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Relational Database Concept

• Dr. E. F. Codd proposed the relational model for

database systems in 1970.

• It is the basis for the relational database

management system (RDBMS).

• The relational model consists of the following:

– Collection of objects or relations

– Set of operators to act on the relations

– Data integrity for accuracy and consistency

Page 16: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Definition of a Relational Database

A relational database is a collection of relations or

two-dimensional tables.

Oracle

server

Table name: EMPLOYEES Table name: DEPARTMENTS

… …

Page 17: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Data Models

Model of

system

in client’s

mind

Entity model of

client’s model

Tables on disk

Oracleserver

Table modelof entity model

Page 18: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

• Create an entity relationship diagram from

business specifications or narratives:

• Scenario

– “. . . Assign one or more employees to a

department . . .”

– “. . . Some departments do not yet have assigned

employees . . .”

Entity Relationship Model

EMPLOYEE#* number

* name

o job title

DEPARTMENT#* number

* name

o location

assigned to

composed of

Page 19: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Entity Relationship

Modeling Conventions

Entity• Singular, unique name

• Uppercase

• Soft box

• Synonym in parentheses

Unique identifier (UID)Primary marked with “#”

Secondary marked with “(#)”

EMPLOYEE#* number

* name

o job title

DEPARTMENT#* number

* name

o location

Attribute• Singular name

• Lowercase

• Mandatory marked with *

• Optional marked with “o”

assigned to

composed of

Page 20: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Relating Multiple Tables

• Each row of data in a table is uniquely identified

by a primary key (PK).

• You can logically relate data from multiple tables

using foreign keys (FK).

Table name: EMPLOYEESTable name: DEPARTMENTS

Primary key Primary keyForeign key

Page 21: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Relational Database Terminology

1

23 4

6

5

Page 22: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Relational Database Properties

A relational database:

• Can be accessed and modified by executing

structured query language (SQL) statements

• Contains a collection of tables with no physical

pointers

• Uses a set of operators

Page 23: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Communicating with an RDBMS

Using SQL

SQL statement is entered. Statement is sent to

Oracle server.

Oracle

server

SELECT department_name FROM departments;

Page 24: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Oracle’s Relational Database Management

System

User tablesData

dictionary

Oracleserver

Page 25: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

SQL Statements

SELECTINSERTUPDATEDELETEMERGE

CREATEALTERDROPRENAMETRUNCATECOMMENT

GRANTREVOKE

COMMITROLLBACKSAVEPOINT

Data manipulation language (DML)

Data definition language (DDL)

Transaction control

Data control language (DCL)

Page 26: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Tables Used in the Course

EMPLOYEES

DEPARTMENTS JOB_GRADES

Page 27: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Summary

• Oracle Database 10g is the database for grid

computing.

• The database is based on the object relational

database management system.

• Relational databases are composed of relations,

managed by relational operations, and governed

by data integrity constraints.

• With the Oracle server, you can store and manage

information by using the SQL language and

PL/SQL engine.

Page 28: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Retrieving Data Using

the SQL SELECT Statement

Page 29: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Objectives

After completing this lesson, you should be able to do

the following:

• List the capabilities of SQL SELECT statements

• Execute a basic SELECT statement

• Differentiate between SQL statements and

iSQL*Plus commands

Page 30: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Capabilities of SQL SELECT Statements

SelectionProjection

Table 1 Table 2

Table 1Table 1

Join

Page 31: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Basic SELECT Statement

• SELECT identifies the columns to be displayed

• FROM identifies the table containing those columns

SELECT *|{[DISTINCT] column|expression [alias],...}FROM table;

Page 32: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Selecting All Columns

SELECT *FROM departments;

Page 33: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Selecting Specific Columns

SELECT department_id, location_idFROM departments;

Page 34: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Writing SQL Statements

• SQL statements are not case-sensitive.

• SQL statements can be on one or more lines.

• Keywords cannot be abbreviated or split

across lines.

• Clauses are usually placed on separate lines.

• Indents are used to enhance readability.

• In iSQL*Plus, SQL statements can optionally be

terminated by a semicolon (;). Semicolons are

required if you execute multiple SQL statements.

• In SQL*plus, you are required to end each SQL

statement with a semicolon (;).

Page 35: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Column Heading Defaults

• iSQL*Plus:

– Default heading alignment: Center

– Default heading display: Uppercase

• SQL*Plus:

– Character and Date column headings are left-

aligned

– Number column headings are right-aligned

– Default heading display: Uppercase

Page 36: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Arithmetic Expressions

Create expressions with number and date data by

using arithmetic operators.

Multiply*

Divide/

Subtract-

Add+

DescriptionOperator

Page 37: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

SELECT last_name, salary, salary + 300FROM employees;

Using Arithmetic Operators

Page 38: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

SELECT last_name, salary, 12*salary+100FROM employees;

Operator Precedence

SELECT last_name, salary, 12*(salary+100)FROM employees;

1

2

Page 39: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Defining a Null Value

• A null is a value that is unavailable, unassigned,

unknown, or inapplicable.

• A null is not the same as a zero or a blank space.

SELECT last_name, job_id, salary, commission_pctFROM employees;

Page 40: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

SELECT last_name, 12*salary*commission_pctFROM employees;

Null Values

in Arithmetic Expressions

Arithmetic expressions containing a null value

evaluate to null.

Page 41: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Defining a Column Alias

A column alias:

• Renames a column heading

• Is useful with calculations

• Immediately follows the column name (There can also be the optional AS keyword between the

column name and alias.)

• Requires double quotation marks if it contains

spaces or special characters or if it is case-

sensitive

Page 42: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Using Column Aliases

SELECT last_name "Name" , salary*12 "Annual Salary"FROM employees;

SELECT last_name AS name, commission_pct commFROM employees;

Page 43: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Concatenation Operator

A concatenation operator:

• Links columns or character strings to other

columns

• Is represented by two vertical bars (||)

• Creates a resultant column that is a character

expression

SELECT last_name||job_id AS "Employees"FROM employees;

Page 44: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Literal Character Strings

• A literal is a character, a number, or a date that is included in the SELECT statement.

• Date and character literal values must be enclosed

by single quotation marks.

• Each character string is output once for each

row returned.

Page 45: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Using Literal Character Strings

SELECT last_name ||' is a '||job_id AS "Employee Details"

FROM employees;

Page 46: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Alternative Quote (q) Operator

• Specify your own quotation mark delimiter

• Choose any delimiter

• Increase readability and usability

SELECT department_name || q'[, it's assigned Manager Id: ]' || manager_id AS "Department and Manager"

FROM departments;

Page 47: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Duplicate Rows

The default display of queries is all rows, including

duplicate rows.

SELECT department_idFROM employees;

SELECT DISTINCT department_idFROM employees;

1

2

Page 48: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

SQL and iSQL*Plus Interaction

SQL statements

Query resultsiSQL*Plus

commands

Client

Formatted report

Internet

browser

Oracleserver

Page 49: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

SQL Statements Versus

iSQL*Plus Commands

SQL

statements

SQL

• A language

• ANSI standard

• Keyword cannot be abbreviated

• Statements manipulate data and table definitions in the database

iSQL*Plus

• An environment

• Oracle-proprietary

• Keywords can be abbreviated

• Commands do not allow manipulation of values in the database

• Runs on a browser

• Centrally loaded; does not have to be implemented on each machine

iSQL*Plus

commands

Page 50: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Overview of iSQL*Plus

After you log in to iSQL*Plus, you can:

• Describe table structures

• Enter, execute, and edit SQL statements

• Save or append SQL statements to files

• Execute or edit statements that are stored in

saved script files

Page 51: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Logging In to iSQL*Plus

From your browser environment:

Page 52: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

iSQL*Plus Environment

6

3 4 5

1

2

8 9

7

Page 53: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Displaying Table Structure

Use the iSQL*Plus DESCRIBE command to display the

structure of a table:

DESC[RIBE] tablename

Page 54: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Displaying Table Structure

DESCRIBE employees

Page 55: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Interacting with Script Files

SELECT last_name, hire_date, salaryFROM employees; 1

2

Page 56: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Interacting with Script Files

Page 57: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Interacting with Script Files

1

Page 58: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Interacting with Script Files

2

3

D:\TEMP\emp_data.sql

Page 59: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

iSQL*Plus History Page

1

2

3

Page 60: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

iSQL*Plus History Page

3

4

Page 61: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Setting iSQL*Plus Preferences

2

3

1

Page 62: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Setting the Output Location Preference

1

2

Page 63: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Summary

In this lesson, you should have learned how to:

• Write a SELECT statement that:

– Returns all rows and columns from a table

– Returns specified columns from a table

– Uses column aliases to display more descriptive

column headings

• Use the iSQL*Plus environment to write, save, and

execute SQL statements and iSQL*Plus

commands

SELECT *|{[DISTINCT] column|expression [alias],...}FROM table;

Page 64: Oracle Database 10g: SQL Fundamentals I - STIKOM …blog.stikom.edu/lusiani/files/2011/11/SQL_11.pdf · Oracle Database 10g: SQL Fundamentals I Electronic Presentation D17108GC11

Copyright © 2004, Oracle. All rights reserved.

Practice 1: Overview

This practice covers the following topics:

• Selecting all data from different tables

• Describing the structure of tables

• Performing arithmetic calculations and specifying

column names

• Using iSQL*Plus