Professional Documents
Culture Documents
Oracle Corporation, 1998. All Rights Reserved
Oracle Corporation, 1998. All Rights Reserved
Copyright
DEPTNO
DEPTNO
----------------YORK
YORK
20
20
30
30
40
40
GRADE
LOSAL
HISAL
GRADE
LOSAL
HISAL
----------------- ----------------- ----------------DEPT
DEPT
11
700
1200
700
1200
DNAME
LOC
DNAME
LOC
22
1201
1400
1201
1400
--------------------------- ------------------33
1401
2000
1401
2000
10
NEW
10 ACCOUNTING
ACCOUNTING
NEW
44
2001
3000
2001
3000
55
3001
9999
3001
9999
RESEARCH
DALLAS
RESEARCH
DALLAS
SALES
CHICAGO
SALES
CHICAGO
OPERATIONS
BOSTON
OPERATIONS
BOSTON
Database
Electronic
spreadsheet
I-2
Filing cabinet
Copyright
I-3
Copyright
I-4
ENAME
ENAME
KING
KING
BLAKE
BLAKE
CLARK
CLARK
JONES
JONES
JOB
JOB
PRESIDENT
PRESIDENT
MANAGER
MANAGER
MANAGER
MANAGER
MANAGER
MANAGER
Copyright
DEPTNO
DEPTNO
10
10
30
30
10
10
20
20
DNAME
DNAME
ACCOUNTING
ACCOUNTING
RESEARCH
RESEARCH
SALES
SALES
OPERATIONS
OPERATIONS
LOC
LOC
NEW
NEW YORK
YORK
DALLAS
DALLAS
CHICAGO
CHICAGO
BOSTON
BOSTON
Data Models
Model of
system
in clients
mind
Entity model of
clients model
Table model
of entity model
Server
Tables on disk
I-5
Copyright
DEPARTMENT
DEPARTMENT
#*
number
#*
number
**
name
name
composed of
oo
location
location
assigned to
Scenario
. . . Assign one or more employees to a
department . . .
. . . Some departments do not yet have
assigned employees . . .
I-6
Copyright
EMPLOYEE
EMPLOYEE
#*
number
#*
number
**
name
name
oo
job
job title
title
Attribute
Singular name
Lowercase
Mandatory marked with *
Optional marked with o
DEPARTMENT
DEPARTMENT
#*
number
#*
number
*
name
name
composed of *
oo
location
location
assigned to
Copyright
EMPNO ENAME
JOB
4
MGR
HIREDATE
SAL
COMM DEPTNO
1
I-8
7839 KING
PRESIDENT
7698 BLAKE
MANAGER
7782 CLARK
-----------
17-NOV-81
5000
10
7839
01-MAY-81
2850
30
MANAGER
7839
09-JUN-81
2450
10
7566 JONES
MANAGER
7839
02-APR-81
2975
20
7654 MARTIN
SALESMAN
7698
28-SEP-81
1250
1400
30
7499 ALLEN
SALESMAN
7698
20-FEB-81
1600
300
30
7698
08-SEP-81
1500
30
7900 JAMES
CLERK
7698
03-DEC-81
950
7521 WARD
SALESMAN
7698
22-FEB-81
1250
7902 FORD
ANALYST
7566
03-DEC-81
3000
20
7369
SMITH
CLERK
7902
17-DEC-80
800
20
7788
SCOTT
ANALYST
7566
09-DEC-82
3000
20
7876
ADAMS
CLERK
7788
12-JAN-83
1100
20
7934
MILLER
CLERK
7782
23-JAN-82
1300
10
Copyright
30
500
30
ENAME
KING
BLAKE
CLARK
JONES
Primary key
I-9
DEPTNO
10
30
10
20
Foreign key
Copyright
DEPTNO
10
20
30
40
DNAME
ACCOUNTING
RESEARCH
SALES
OPERATIONS
Primary key
LOC
NEW YORK
DALLAS
CHICAGO
BOSTON
I-10
Copyright
Statement is sent to
database
Database
Data is displayed
LOC
LOC
------------------------NEW
NEW YORK
YORK
DALLAS
DALLAS
CHICAGO
CHICAGO
BOSTON
BOSTON
I-11
Copyright
SQL Statements
SELECT
Data retrieval
INSERT
UPDATE
DELETE
CREATE
ALTER
DROP
RENAME
TRUNCATE
COMMIT
ROLLBACK
SAVEPOINT
GRANT
REVOKE
I-12
Copyright
Transaction control
What Is PL/SQL?
PL/SQL is an extension to SQL with
design features of programming
languages.
Data manipulation and query statements
of SQL are included within procedural
units of code.
I-13
Copyright
PL/SQL Environment
PL/SQL engine
PL/SQL
block
PL/SQL
block
PL/SQL
SQL
Procedural
Statement
Executor
I-14
Copyright
Benefits of PL/SQL
It is portable.
You can declare identifiers.
You can program with procedural
language control structures.
It can handle errors.
I-15
Copyright
Server
SQL*Plus
Query Results
Buffer
SQL
scripts
I-16
Copyright
SQL
buffer
Copyright
SQL*Plus
An environment
Oracle proprietary
Keywords can be
abbreviated
Commands do not
allow manipulation of
values in the database
SQL*Plus
commands
SQL*Plus
buffer
Overview of SQL*Plus
Log in to SQL*Plus.
Describe the table structure.
Edit your SQL statement.
Execute SQL from SQL*Plus.
Save SQL statements to files and
append SQL statements to files.
Execute saved files.
Load commands from file to buffer
to edit.
I-18
Copyright
Logging In to SQL*Plus
From Windows environment:
Copyright
I-20
Copyright
HIREDATE
SAL
COMM
DEPTNO
HIREDATE
SAL
COMM
DEPTNO
----------------- ----------------- ----------------- ----------------17-NOV-81
5000
10
17-NOV-81
5000
10
01-MAY-81
2850
30
01-MAY-81
2850
30
09-JUN-81
1500
10
09-JUN-81
1500
10
02-APR-81
2975
20
02-APR-81
2975
20
28-SEP-81
1250
1400
30
28-SEP-81
1250
1400
30
20-FEB-81
1600
300
30
20-FEB-81
1600
300
30
08-SEP-81
1500
00
30
08-SEP-81
1500
30
03-DEC-81
950
30
03-DEC-81
950
30
22-FEB-81
1250
500
30
22-FEB-81
1250
500
30
03-DEC-81
3000
20
03-DEC-81 SALGRADE
3000
20
17-DEC-80
800
20
17-DEC-80
800
20
GRADE
LOSAL
HISAL
GRADE
LOSAL
HISAL
09-DEC-82
3000
20
09-DEC-82 --------3000 --------20
----------------- ----------------12-JAN-83
1100
20
12-JAN-83
1100 11
20
700
1200
700
1200
23-JAN-82
1300
10
23-JAN-82
1300 22
10
1201
1400
1201
1400
33
1401
2000
1401
2000
44
2001
3000
2001
3000
55
3001
9999
3001
9999
I-21
Copyright
I-22
Copyright
Null?
Null?
--------------NOT
NOT NULL
NULL
Type
Type
------NUMBER(2)
NUMBER(2)
VARCHAR2(14)
VARCHAR2(14)
VARCHAR2(13)
VARCHAR2(13)
Writing Basic
SQL Statements
Copyright
Projection
Table 1
Table 1
Table 1
I-24
Copyright
Join
Table 2
Oracle Corporation, 1998. All rights reserved.
[DISTINCT]
[DISTINCT] {*,
{*, column
column [alias],...}
[alias],...}
table;
table;
I-25
Copyright
Copyright
I-27
DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
Copyright
LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
I-28
LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
Copyright
I-29
Copyright
Arithmetic Expressions
Create expressions on NUMBER and DATE
data types by using arithmetic operators.
Operator
I-30
Description
Add
Subtract
Multiply
Divide
Copyright
I-31
Copyright
Operator Precedence
* / +
I-32
Copyright
Operator Precedence
SQL> SELECT ename, sal, 12*sal+100
2 FROM
emp;
ENAME
SAL 12*SAL+100
---------- --------- ---------KING
5000
60100
BLAKE
2850
34300
CLARK
2450
29500
JONES
2975
35800
MARTIN
1250
15100
ALLEN
1600
19300
...
14 rows selected.
I-33
Copyright
Using Parentheses
SQL> SELECT ename, sal, 12*(sal+100)
2 FROM
emp;
ENAME
SAL 12*(SAL+100)
---------- --------- ----------KING
5000
61200
BLAKE
2850
35400
CLARK
2450
30600
JONES
2975
36900
MARTIN
1250
16200
...
14 rows selected.
I-34
Copyright
ENAME
JOB
COMM
---------- --------- --------KING
PRESIDENT
BLAKE
MANAGER
...
TURNER
SALESMAN
0
...
14 rows selected.
I-35
Copyright
NAME
12*SAL+COMM
---------- ----------KING
I-36
Copyright
Copyright
Copyright
Concatenation Operator
Concatenates columns or character
strings to other columns
Is represented by two vertical bars (||)
Creates a resultant column that is a
character expression
I-39
Copyright
ename||job AS "Employees"
emp;
Employees
------------------KINGPRESIDENT
BLAKEMANAGER
CLARKMANAGER
JONESMANAGER
MARTINSALESMAN
ALLENSALESMAN
...
14 rows selected.
I-40
Copyright
I-41
Copyright
I-42
Copyright
Duplicate Rows
The default display of queries is all rows,
including duplicate rows.
SQL>
SQL>
22
SELECT
SELECT
FROM
FROM
deptno
deptno
emp;
emp;
DEPTNO
--------10
30
10
20
...
14 rows selected.
I-43
Copyright
DEPTNO
--------10
20
30
I-44
Copyright
Copyright
Copyright
Copyright
Practice Overview
Selecting all data from different tables.
Describing the structure of tables.
Performing arithmetic calculations and
specifying column names.
Using SQL*Plus editor.
I-48
Copyright
Copyright
KING
BLAKE
CLARK
JONES
JOB
...
DEPTNO
PRESIDENT
MANAGER
MANAGER
MANAGER
10
30
10
20
retrieve all
employees
in department 10
EMP
EMPNO ENAME
JOB
7839 KING
PRESIDENT
7782 CLARK MANAGER
7934 MILLER CLERK
I-54
Copyright
...
DEPTNO
10
10
10
I-55
Copyright
ENAME
---------JAMES
SMITH
ADAMS
MILLER
I-56
JOB
DEPTNO
--------- --------CLERK
30
CLERK
20
CLERK
20
CLERK
10
Copyright
I-57
SELECT
SELECT
FROM
FROM
WHERE
WHERE
ename,
ename, job,
job, deptno
deptno
emp
emp
ename
ename == 'JAMES';
'JAMES';
Copyright
Comparison Operators
Operator
I-58
Meaning
Equal to
>
Greater than
>=
<
Less than
<=
<>
Not equal to
Copyright
ENAME
SAL
COMM
---------- --------- --------MARTIN
1250
1400
I-59
Copyright
I-60
Operator
Meaning
BETWEEN
...AND...
IN(list)
LIKE
IS NULL
Is a null value
Copyright
ename, sal
emp
sal BETWEEN 1000 AND 1500;
ENAME
SAL
---------- --------MARTIN
1250
TURNER
1500
WARD
1250
ADAMS
1100
MILLER
1300
I-61
Copyright
Lower
limit
Higher
limit
EMPNO
--------7902
7369
7788
7876
I-62
ENAME
SAL
MGR
---------- --------- --------FORD
3000
7566
SMITH
800
7902
SCOTT
3000
7566
ADAMS
1100
7788
Copyright
ename
emp
ename LIKE 'S%';
Copyright
ename
emp
ename LIKE '_A%';
ENAME
---------JAMES
WARD
Copyright
ename, mgr
emp
mgr IS NULL;
ENAME
MGR
---------- --------KING
I-65
Copyright
Logical Operators
I-66
Operator
Meaning
AND
OR
NOT
Copyright
SELECT
FROM
WHERE
AND
EMPNO
--------7876
7934
I-67
ENAME
---------ADAMS
MILLER
Copyright
JOB
SAL
--------- --------CLERK
1100
CLERK
1300
SELECT
FROM
WHERE
OR
EMPNO ENAME
JOB
SAL
--------- ---------- --------- --------7839
7698
7782
7566
7654
KING
BLAKE
CLARK
JONES
MARTIN
PRESIDENT
MANAGER
MANAGER
MANAGER
SALESMAN
5000
2850
2450
2975
1250
...
14 rows selected.
I-68
Copyright
ENAME
---------KING
MARTIN
ALLEN
TURNER
WARD
I-69
JOB
--------PRESIDENT
SALESMAN
SALESMAN
SALESMAN
SALESMAN
Copyright
Rules of Precedence
Order Evaluated
1
2
3
4
Operator
All comparison
operators
NOT
AND
OR
Copyright
Rules of Precedence
SQL>
2
3
4
5
SELECT
FROM
WHERE
OR
AND
ENAME
ENAME
------------------KING
KING
MARTIN
MARTIN
ALLEN
ALLEN
TURNER
TURNER
WARD
WARD
I-71
JOB
SAL
JOB
SAL
----------------- ----------------PRESIDENT
5000
PRESIDENT
5000
SALESMAN
1250
SALESMAN
1250
SALESMAN
1600
SALESMAN
1600
SALESMAN
1500
SALESMAN
1500
SALESMAN
1250
SALESMAN
1250
Copyright
Rules of Precedence
Use parentheses to force priority.
SQL>
2
3
4
5
SELECT
FROM
WHERE
OR
AND
ENAME
ENAME
------------------KING
KING
ALLEN
ALLEN
I-72
JOB
SAL
JOB
SAL
----------------- ----------------PRESIDENT
5000
PRESIDENT
5000
SALESMAN
1600
SALESMAN
1600
Copyright
ORDER BY Clause
Sort rows with the ORDER BY clause
ASC: ascending order, default
DESC: descending order
The ORDER BY clause comes last in the
SELECT statement.
SQL> SELECT
ename, job, deptno, hiredate
2 FROM
emp
3 ORDER BY hiredate;
ENAME
JOB
DEPTNO HIREDATE
---------- --------- --------- --------SMITH
CLERK
20 17-DEC-80
ALLEN
SALESMAN
30 20-FEB-81
...
14 rows selected.
I-73
Copyright
Copyright
Copyright
Summary
SELECT
FROM
[WHERE
[ORDER BY
I-77
Copyright
Practice Overview
Selecting data and changing the order of
rows displayed
Restricting rows by using the WHERE
clause
Using the double-quotation-marks in
column aliases
I-78
Copyright