Tải bản đầy đủ (.pdf) (586 trang)

OCA Oracle Database 12c: SQL Fundamentals I Exam Guide (Exam 1Z0061)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (27.18 MB, 586 trang )


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

®

OCA Oracle Database 12c:
SQL Fundamentals I
Exam Guide
(Exam 1Z0-061)

00-FM.indd 1

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

ABOUT T
  HE  AUTHOR

Roopesh Ramklass (Canada) is an Oracle Certified Master with expertise in
infrastructure, middleware, and database architecture. He has worked for Oracle
Global Support, Advanced Customer Services, and Oracle University. He has run
an IT consultancy and is experienced with infrastructure systems provisioning,
software development, and systems integration. He has spoken at numerous Oracle
User Group conferences and is the author of several technology books.

About the Technical Editor
Cecil Strydom has been working exclusively as an Oracle DBA for the last 13 years,
covering everything from performance tuning to disaster recovery. He has worked
with Oracle database versions 8 through 11g and has experience with RAC, Data


Guard, eBusiness, Portal, Apex, and various other Oracle applications. Cecil is an
OCP-certified Oracle DBA and is currently a systems consultant for a multinational
company based in Johannesburg, South Africa.

00-FM.indd 2

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

®

OCA Oracle Database 12c:
SQL Fundamentals I
Exam Guide
(Exam 1Z0-061)
Roopesh Ramklass

McGraw-Hill Education is an independent entity from Oracle Corporation and is
not affiliated with Oracle Corporation in any manner. This publication and CD-ROM
may be used in assisting students to prepare for the OCA Oracle Database 12c:
SQL Fundamentals I exam. Neither Oracle Corporation nor McGraw-Hill Education
warrants that use of this publication or CD-ROM will ensure passing the relevant exam.

New York  Chicago  San Francisco
 Athens London Madrid Mexico City
Milan New Delhi Singapore Sydney Toronto

00-FM.indd 3


2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

Cataloging-in-Publication Data is on file with the Library of Congress

McGraw-Hill Education books are available at special quantity discounts to use as premiums and sales promotions,
or for use in corporate training programs. To contact a representative, please visit the Contact Us pages at www
.mhprofessional.com.
OCA Oracle Database 12c: SQL Fundamentals I Exam Guide (Exam 1Z0-061)
Copyright © 2014 by McGraw-Hill Education (Publisher). All rights reserved. Printed in the United States of
America. Except as permitted under the Copyright Act of 1976, no part of this publication may be reproduced
or distributed in any form or by any means, or stored in a database or retrieval system, without the prior written
permission of Publisher, with the exception that the program listings may be entered, stored, and executed in a
computer system, but they may not be reproduced for publication.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. All other trademarks are the property
of their respective owners, and McGraw-Hill Education makes no claim of ownership by the mention of products
that contain these marks.
Screen displays of copyrighted Oracle software programs have been reproduced herein with the permission of
Oracle Corporation and/or its affiliates.
1234567890 DOC DOC 10987654
ISBN: Book p/n 978-0-07-182027-1 and CD p/n 978-0-07-182026-4
of set 978-0-07-182028-8
MHID: Book p/n 0-07-182027-2 and CD p/n 0-07-182026-4
of set 0-07-182028-0
Sponsoring Editor
Stephanie Evans


Technical Editor
Cecil Strydom

Production Supervisor
James Kussow

Editorial Supervisor
Jody McKenzie

Copy Editor
Lunaea Weatherstone

Composition
Cenveo Publisher Services

Project Manager
Tania Andrabi,
Cenveo® Publisher Services

Proofreaders
Emily Rader, Claire Splan

Illustration
Cenveo Publisher Services

Indexer
Ted Laux

Art Director, Cover
Jeff Weeks


Acquisitions Coordinator
Mary Demery

Information has been obtained by Publisher from sources believed to be reliable. However, because of the possibility
of human or mechanical error by our sources, Publisher, or others, Publisher does not guarantee to the accuracy,
adequacy, or completeness of any information included in this work and is not responsible for any errors or omissions
or the results obtained from the use of such information.
Oracle Corporation does not make any representations or warranties as to the accuracy, adequacy, or completeness
of any information contained in this Work, and is not responsible for any errors or omissions.

00-FM.indd 4

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

With love to Ameetha for sharing your journey with me.

00-FM.indd 5

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

00-FM.indd 6

2/26/14 11:32 AM



OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

CONTENTS AT A GLANCE

1

Relational Database Design Using Oracle  . . . . . . . . . . . . . . . . . . . . . . . . 1

2

Data Retrieval Using the SQL SELECT Statement  . . . . . . . . . . . . . . . . 55

3

Restricting and Sorting Data  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

4

Single-Row Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

5

Using Conversion Functions and
Conditional Expressions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

6

Reporting Aggregated Data Using the Group Functions  . . . . . . . . . . . . 277


7

Displaying Data from Multiple Tables  . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

8

Using Subqueries to Solve Problems  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365

9

Using the Set Operators  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395

10

Manipulating Data  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423

11

Using DDL Statements to Create and Manage Tables  . . . . . . . . . . . . . . 475

A

About the CD-ROM  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513

Glossary 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Index 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533


vii

00-FM.indd 7

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

00-FM.indd 8

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

CONTENTS

Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Preface  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv

1

Relational Database Design Using Oracle  . . . . . . . . . . 1
Position the Server Technologies  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Oracle Server Architecture  . . . . . . . . . . . . . . . . . . . . . . . .
The Oracle WebLogic Server  . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oracle Enterprise Manager  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cloud Computing  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Exercise 1-1:  Investigate Your Database
and Application Environment  . . . . . . . . . . . . . . . . . . . . . . . .
Development Tools and Languages  . . . . . . . . . . . . . . . . . . . . . .
Understand Relational Structures  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Real-World Scenarios  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Modeling  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entities and Relations  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 1-2:  Design an Entity-Relationship Diagram
for the Geological Cores Scenario  . . . . . . . . . . . . . . . . . . . . .
Rows and Tables  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Summarize the SQL Language  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SQL Standards  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SQL Commands  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A Set-Oriented Language  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Use the Client Tools  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SQL*Plus  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SQL Developer  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create the Demonstration Schemas  . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Users and Schemas  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The HR and OE Schemas  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Schema Creation  . . . . . . . . . . . . . . . . . . . . . . .

3
3
5
7
8
9
10
11

11
12
12
20
22
26
27
27
28
29
30
37
42
42
43
46

ix

00-FM.indd 9

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

x 

OCA Oracle Database 12c: SQL Fundamentals I Exam Guide



✓ Two-Minute Drill  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Q&A Self Test  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Question  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Self Test Answers  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Answer  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

Data Retrieval Using the SQL
SELECT Statement  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
List the Capabilities of SQL SELECT Statements  . . . . . . . . . . . . . . . . .
Introducing the SQL SELECT Statement  . . . . . . . . . . . . . . . . .
The DESCRIBE Table Command  . . . . . . . . . . . . . . . . . . . . . . .
Exercise 2-1:  Describing the Human
Resources Schema  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Capabilities of the SELECT Statement  . . . . . . . . . . . . . . . . . . .
Execute a Basic SELECT Statement  . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Primitive SELECT Statement  . . . . . . . . . . . . . . . . . . . . . .
Syntax Rules  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 2-2:  Answering Our First
Questions with SQL  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SQL Expressions and Operators  . . . . . . . . . . . . . . . . . . . . . . . . .
The NULL Concept  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 2-3:  Experimenting with Expressions
and the DUAL Table  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

✓ Two-Minute Drill  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Q&A Self Test  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Question  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Self Test Answers  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Answer  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

56
56
57
60
62
64
64
69
72
75
87
92
96
98
100
102
104

Restricting and Sorting Data  . . . . . . . . . . . . . . . . . . . . . 109
Limit the Rows Retrieved by a Query  . . . . . . . . . . . . . . . . . . . . . . . . . . .
The WHERE clause  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comparison Operators  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 3-1:  Using the LIKE Operator  . . . . . . . . . . . . . . . .
Boolean Operators  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Precedence Rules  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


00-FM.indd 10

49
50
52
53
54

110
110
119
131
133
139

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

Contents 

Sort the Rows Retrieved by a Query  . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The ORDER BY Clause  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 3-2:  Sorting Data Using
the ORDER BY Clause  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ampersand Substitution  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution Variables  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Define and Verify  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Exercise 3-3:  Using Ampersand Substitution  . . . . . . . . . . . .

✓ Two-Minute Drill  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Q&A Self Test  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Question  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Self Test Answers  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Answer  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

143
143
148
150
150
157
163
166
168
170
171
173

Single-Row Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Describe Various Types of Functions
Available in SQL  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining a Function  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Types of Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Use Character, Number, and Date Functions
in SELECT Statements  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Using Character Case Conversion Functions  . . . . . . . . . . . . . .
Exercise 4-1:  Using the Case Conversion Functions  . . . . . .
Using Character Manipulation Functions  . . . . . . . . . . . . . . . . .
Exercise 4-2:  Using the Character
Manipulation Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Numeric Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Working with Dates  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Date Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 4-3:  Using the Date Functions  . . . . . . . . . . . . . . . .

✓ Two-Minute Drill  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Q&A Self Test  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Question  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Self Test Answers  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Answer  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

00-FM.indd 11

xi

176
176
180
183
183
188
189
202
203
209

213
216
225
227
229
230
231

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

xii 

OCA Oracle Database 12c: SQL Fundamentals I Exam Guide

5

Using Conversion Functions and
Conditional Expressions  . . . . . . . . . . . . . . . . . . . . . . . . . 233
Describe Various Types of Conversion
Functions Available in SQL  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conversion Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Use the TO_CHAR, TO_NUMBER,
and TO_DATE Conversion Functions  . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the Conversion Functions  . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 5-1:  Converting Dates into
Characters Using the TO_CHAR Function  . . . . . . . . . . . . .
Apply Conditional Expressions in a SELECT Statement  . . . . . . . . . . . .

Nested Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 5-2:  Using NULLIF and NVL2
for Simple Conditional Logic  . . . . . . . . . . . . . . . . . . . . . . . .
Conditional Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 5-3:  Using the DECODE Function  . . . . . . . . . . . .

✓ Two-Minute Drill  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Q&A Self Test  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Question  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Self Test Answers  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Answer  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

237
238
245
250
250
252
257
260
266
269
271
273
274
275


Reporting Aggregated Data
Using the Group Functions  . . . . . . . . . . . . . . . . . . . . . . 277
Describe the Group Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Definition of Group Functions  . . . . . . . . . . . . . . . . . . . . . . . . . .
Types and Syntax of Group Functions  . . . . . . . . . . . . . . . . . . . .
Identify the Available Group Functions  . . . . . . . . . . . . . . . . . . . . . . . . .
Using the Group Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 6-1:  Using the Group Functions  . . . . . . . . . . . . . .
Nested Group Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Group Data Using the GROUP BY Clause  . . . . . . . . . . . . . . . . . . . . . . .
Creating Groups of Data  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The GROUP BY Clause  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

00-FM.indd 12

234
234

278
278
280
283
283
289
290
292
292
294

2/26/14 11:32 AM



OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

7

Contents 

xiii

Grouping by Multiple Columns  . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 6-2:  Grouping Data Based on
Multiple Columns  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Include or Exclude Grouped Rows Using the HAVING Clause  . . . . . . .
Restricting Group Results  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The HAVING Clause  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 6-3:  Using the HAVING Clause  . . . . . . . . . . . . . .

✓ Two-Minute Drill  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Q&A Self Test  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Question  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Self Test Answers  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Answer  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

296

Displaying Data from Multiple Tables  . . . . . . . . . . . . . . 315
Write SELECT Statements to Access Data from More
Than One Table Using Equijoins and Nonequijoins  . . . . . . . . . . . . . . .
Types of Joins  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Joining Tables Using ANSI SQL Syntax  . . . . . . . . . . . . . . . . . .
Qualifying Ambiguous Column Names  . . . . . . . . . . . . . . . . . . .
The NATURAL JOIN Clause  . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 7-1:  Using the NATURAL JOIN  . . . . . . . . . . . . .
The JOIN USING Clause  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The JOIN ON Clause  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 7-2:  Using the NATURAL
JOIN…ON Clause  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
N-Way Joins and Additional Join Conditions  . . . . . . . . . . . . . .
Nonequijoins  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Join a Table to Itself Using a Self-Join  . . . . . . . . . . . . . . . . . . . . . . . . . . .
Joining a Table to Itself Using the JOIN…ON Clause  . . . . . . .
Exercise 7-3:  Performing a Self-Join  . . . . . . . . . . . . . . . . . . .
View Data That Does Not Meet a Join
Condition by Using Outer Joins  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inner versus Outer Joins  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Left Outer Joins  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Right Outer Joins  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Full Outer Joins  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 7-4:  Performing an Outer-Join  . . . . . . . . . . . . . . . .

00-FM.indd 13

297
299
300
301
304
307
309

311
312
314

316
317
322
323
325
327
328
330
332
333
336
338
338
340
341
342
343
345
346
347

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter


xiv 

OCA Oracle Database 12c: SQL Fundamentals I Exam Guide

Generate a Cartesian Product of Two or More Tables  . . . . . . . . . . . . . .
Creating Cartesian Products Using Cross Joins  . . . . . . . . . . . . .
Exercise 7-5:  Performing a Cross-Join  . . . . . . . . . . . . . . . . .

✓ Two-Minute Drill  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Q&A Self Test  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Question  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Self Test Answers  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Answer  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

Using Subqueries to Solve Problems  . . . . . . . . . . . . . . 365
Define Subqueries  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 8-1:  Types of Subqueries  . . . . . . . . . . . . . . . . . . . . .
Describe the Types of Problems That the Subqueries Can Solve  . . . . . .
Use of a Subquery Result Set for Comparison Purposes  . . . . . .
Star Transformation  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Generate a Table from Which to SELECT  . . . . . . . . . . . . . . . .
Generate Values for Projection  . . . . . . . . . . . . . . . . . . . . . . . . .
Generate Rows to be Passed to a DML Statement  . . . . . . . . . .
Exercise 8-2:  More Complex Subqueries  . . . . . . . . . . . . . . .
List the Types of Subqueries  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Single- and Multiple-Row Subqueries  . . . . . . . . . . . . . . . . . . . .
Correlated Subqueries  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 8-3:  Investigate the Different

Types of Subqueries  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Write Single-Row and Multiple-Row Subqueries  . . . . . . . . . . . . . . . . . .
Exercise 8-4:  Write a Query That Is Reliable
and User Friendly  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

✓ Two-Minute Drill  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Q&A Self Test  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Question  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Self Test Answers  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Answer  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

366
367
369
369
371
372
373
373
374
376
376
377
379
382
383
387
388

392
393
394

Using the Set Operators  . . . . . . . . . . . . . . . . . . . . . . . . 395
Describe the Set Operators  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sets and Venn Diagrams  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Set Operator General Principles  . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 9-1:  Describe the Set Operators  . . . . . . . . . . . . . . .

00-FM.indd 14

349
350
351
356
358
361
362
363

396
396
398
399

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter


Contents 

Use a Set Operator to Combine Multiple
Queries into a Single Query  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The UNION ALL Operator  . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The UNION Operator  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The INTERSECT Operator  . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The MINUS Operator  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
More Complex Examples  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 9-2:  Using the Set Operators  . . . . . . . . . . . . . . . . .
Control the Order of Rows Returned  . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 9-3:  Control the Order
of Rows Returned   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

✓ Two-Minute Drill  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Q&A Self Test  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Question  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Self Test Answers  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Answer  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xv

400
401
401
403
403
405
407

410
411
416
417
419
420
421

10 Manipulating Data  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Describe Each Data Manipulation Language (DML) Statement  . . . . . .
INSERT  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UPDATE  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DELETE  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MERGE  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TRUNCATE  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DML Statement Failures  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Insert Rows into a Table  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 10-1:  Use the INSERT Command  . . . . . . . . . . . . .
Update Rows in a Table  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 10-2:  Use the UPDATE Command  . . . . . . . . . . . .
Delete Rows from a Table  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Removing Rows with DELETE  . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 10-3:  Use the DELETE Command  . . . . . . . . . . . .
Removing Rows with TRUNCATE  . . . . . . . . . . . . . . . . . . . . . .
MERGE  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

00-FM.indd 15

424
425

426
427
428
429
429
433
439
441
444
446
446
447
449
450

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

xvi 

OCA Oracle Database 12c: SQL Fundamentals I Exam Guide

Control Transactions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Database Transactions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Transaction Control Statements  . . . . . . . . . . . . . . . . . . . .
Exercise 10-4:  Use the COMMIT
and ROLLBACK Commands  . . . . . . . . . . . . . . . . . . . . . . . .


✓ Two-Minute Drill  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Q&A Self Test  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Question  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Self Test Answers  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Answer  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

451
451
455
456
463
465
469
471
473

11 Using DDL Statements to Create
and Manage Tables  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
Categorize the Main Database Objects  . . . . . . . . . . . . . . . . . . . . . . . . . .
Object Types  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Users and Schemas  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Naming Schema Objects  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Object Namespaces  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 11-1:  Determine What Objects Are
Accessible to Your Session  . . . . . . . . . . . . . . . . . . . . . . . . . . .
Review the Table Structure  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 11-2:  Investigate Table Structures  . . . . . . . . . . . . .
List the Data Types That Are Available for Columns  . . . . . . . . . . . . . . .
Exercise 11-3:  Investigate the Data Types
in the HR schema  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Create a Simple Table  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Tables with Column Specifications  . . . . . . . . . . . . . .
Creating Tables from Subqueries  . . . . . . . . . . . . . . . . . . . . . . . .
Altering Table Definitions After Creation  . . . . . . . . . . . . . . . .
Dropping and Truncating Tables  . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 11-4:  Create Tables  . . . . . . . . . . . . . . . . . . . . . . . .
Explain How Constraints Are Created
at the Time of Table Creation  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Types of Constraints  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining Constraints  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise 11-5:  Work with Constraints  . . . . . . . . . . . . . . . . .

00-FM.indd 16

476
476
478
479
481
482
482
483
484
488
488
489
490
492
493
494

496
497
500
504

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

Contents 


✓ Two-Minute Drill  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Q&A Self Test  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Question  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Self Test Answers  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lab Answer  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xvii
506
507
509
510
511

A About the CD-ROM  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
System Requirements  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Total Tester Premium Practice Exam Software  . . . . . . . . . . . . . . . . . . . .
Installing and Running Total Tester

Premium Practice Exam Software  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Electronic Book  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Technical Support  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Total Seminars Technical Support  . . . . . . . . . . . . . . . . . . . . . . .
McGraw-Hill Content Support  . . . . . . . . . . . . . . . . . . . . . . . . .

514
514
514
515
515
515
515

Glossary 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Index 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533

00-FM.indd 17

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

00-FM.indd 18

2/26/14 11:32 AM



OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

ACKNOWLEDGMENTS

T

his book was written amidst emigrating from South Africa to Canada and completed
during one of the most brutal winters in Canadian history. Concluding the task to a
standard I am satisfied with during this tumultuous time would not have been possible
without the love, support, encouragement, and friendship of my wife, Dr. Ameetha Garbharran.

■■ I am grateful too for the meticulous attention to detail and wisdom of the

technical editor, my esteemed colleague and friend Cecil Strydom, who kept
me focused on the quality of this endeavor.
■■ Finally, thank you to the team at McGraw-Hill Education, specifically Mary

Demery and Stephanie Evans, who kept me on track with my deadlines and
showed empathy and understanding during our intercontinental transition.

xix

00-FM.indd 19

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter


00-FM.indd 20

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

PREFACE

T

he objective of this study guide is to prepare you for the 1Z0-061 exam by familiarizing
you with the knowledge tested in the exam. Because the primary focus of the book is
to help you pass the test, we don’t always cover every aspect of the related technology.
Some aspects of the technology are only covered to the extent necessary to help you understand
what you need to know to pass the exam, but we hope this book will serve you as a valuable
professional resource after your exam.

In This Book
This book is organized in such a way as to serve as an in-depth review for the
Oracle Database 12c: SQL Fundamentals exam for both novice and experienced
Oracle professionals. Each chapter covers a major aspect of the exam, with an
emphasis on the “why” as well as the “how to” of working with and supporting
Oracle SQL.

On the CD-ROM
For more information on the CD-ROM, please see the “About the CD-ROM”
appendix at the back of the book.

Exam Objective Map

At the end of the Introduction you will find an Exam Objective Map. This table
has been constructed to allow you to cross-reference the official exam objectives
with the objectives as they are presented and covered in this book. The objectives
are listed as presented by the certifying body with a chapter and page reference.

xxi

00-FM.indd 21

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

xxii 

OCA Oracle Database 12c: SQL Fundamentals I Exam Guide

In Every Chapter
We’ve created a set of chapter components that call your attention to important
items, reinforce key points, and provide helpful exam-taking hints. Take a look at
what you’ll find in each chapter:
■■ Every chapter begins with Certification Objectives—what you need to know

in order to pass the section in the exam dealing with the chapter topic. The
Certification Objective headings identify the objectives within the chapter,
so you’ll always know an objective when you see it!
■■ Exam Watch notes call attention to information about, and potential pitfalls

in, the exam. These helpful hints are written by authors who have taken the

exam and received their certification—who better to tell you what to worry
about? They know what you’re about to go through!
■■ Exercises are interspersed throughout the chapters. These are designed to give

you a feel for the real-world experience you need in order to pass the exam.
They help you master skills that are likely to be an area of focus in the exam.
Don’t just read through the exercises; they are hands-on practice that you
should be comfortable completing. Learning by doing is an effective way to
increase your competency with a product.
■■ On the Job notes describe the issues that come up most often in real-world

settings. They provide a valuable perspective on certification- and productrelated topics. They point out common mistakes and address questions that
have arisen from on-the-job discussions and experience.
■■ Inside the Exam sidebars highlight some of the most common and confusing

problems that students encounter when taking a live exam. Designed to
anticipate what the exam will emphasize, getting inside the exam will help
ensure you know what you need to know to pass. You can get a leg up on
how to respond to those difficult-to-understand questions by focusing extra
attention on these sidebars.

00-FM.indd 22

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

Preface 


xxiii

■■ Scenario & Solution sections lay out potential problems and solutions in a

quick-to-read format.

SCENARIO & SOLUTION
When querying the JOBS table for every row
containing just the JOB_ID and MAX_SALARY
columns, is a projection, selection, or join being
performed?

A projection is performed since the columns in the
JOBS table have been restricted to the JOB_ID and
MAX_SALARY columns.

An alias provides a mechanism to rename a column
or an expression. Under what conditions should you
enclose an alias in double quotes?

If an alias contains more than one word or if the case of
an alias must be preserved, then it should be enclosed
in double quotation marks. Failure to double quote a
multi-worded alias will raise an Oracle error. Failure to
double quote a single-word alias will result in the alias
being returned in uppercase.

The SELECT list of a query contains a single
column. Is it possible to sort the results retrieved by
this query by another column?


Yes. Unless positional sorting is used, the ORDER
BY clause is independent of the SELECT clause in a
statement.

■■ The Certification Summary is a succinct review of the chapter and a

✓ ■■
Q&A

restatement of salient points regarding the exam.
The Two-Minute Drill at the end of every chapter is a checklist of the main
points. It can be used for last-minute review.

■■ The Self Test offers questions similar to those in the exam. The answers to

these questions, as well as explanations of the answers, can be found at the
end of each chapter. By taking the Self Test after completing each chapter,
you’ll reinforce what you’ve learned from that chapter while becoming familiar
with the structure of the exam questions.
■■ The Lab Question at the end of the Self Test section offers a unique and

challenging question format that requires you to understand multiple chapter
concepts in order to answer correctly. These questions are more complex
and more comprehensive than the other questions, as they test your ability
to take all the knowledge you’ve gained from reading the chapter and apply
it to complicated, real-world situations. These questions are aimed to be
more difficult than what you will find in the exam. If you can answer these
questions, you have proven that you know the subject!


00-FM.indd 23

2/26/14 11:32 AM


OracCertPrs5.5 / OCA Oracle Database 12c / Roopesh Ramklass / 182028-0 / Front Matter

xxiv 

OCA Oracle Database 12c: SQL Fundamentals I Exam Guide

Some Pointers
Once you’ve finished reading this book, set aside some time to do a thorough review.
You might want to return to the book several times and make use of all the methods
it offers for reviewing the material:
1. Reread all the Two-Minute Drills, or have someone quiz you. You also can use
the drills as a way to do a quick cram before the exam. You may want to make
flashcards out of 3 × 5 index cards with the Two-Minute Drill material.
2. Reread all the Exam Watch notes and Inside the Exam elements. Remember that
these notes are written by authors who have taken the exam and passed. They
know what you should expect—and what you should be on the lookout for.
3. Review all the Scenario & Solution sections for quick problem solving.
4. Retake the Self Tests. Taking the tests right after you’ve read the chapter is
a good idea, because the questions help reinforce what you’ve just learned.
However, it’s an even better idea to go back later and answer all the questions
in the book in a single sitting. Pretend that you’re taking the live exam.
When you go through the questions the first time, you should mark your
answers on a separate piece of paper. That way, you can run through the
questions as many times as you need to until you feel comfortable with
the material.

5. Complete the exercises. Did you do the exercises when you read through each
chapter? If not, do them! These exercises are designed to cover exam topics,
and there’s no better way to get to know this material than by practicing. Be
sure you understand why you are performing each step in each exercise. If
there is something you are not clear on, reread that section in the chapter.

00-FM.indd 24

2/26/14 11:32 AM


×