| Acknowledgments |
|
xxi | |
| Preface |
|
xxv | |
| Introduction |
|
xxxi | |
| Exam Readiness Checklist |
|
xxxiii | |
| 1 Oracle and Structured Query Language (SQL) |
|
1 | (40) |
|
|
|
2 | (14) |
|
What to Do and What to Expect |
|
|
4 | (3) |
|
|
|
7 | (1) |
|
Oracle SQL vs. Oracle SQLPlus |
|
|
7 | (1) |
|
SQL Fundamentals I vs. SQL Certified Associate |
|
|
7 | (6) |
|
Confirm Appropriate Materials for Study |
|
|
13 | (3) |
|
Identify the Connection Between an ERD and a Relational Database |
|
|
16 | (9) |
|
Entity-Relationship Diagrams and Data Modeling |
|
|
17 | (3) |
|
|
|
20 | (2) |
|
Many-to-Many Relationships |
|
|
22 | (1) |
|
|
|
23 | (2) |
|
Explain the Relationship Between a Database and SQL |
|
|
25 | (3) |
|
Describe the Purpose of DDL |
|
|
28 | (1) |
|
Describe the Purpose of DML |
|
|
29 | (1) |
|
Transaction Control Language |
|
|
30 | (1) |
|
Build a SELECT Statement to Retrieve Data from an Oracle Database Table |
|
|
30 | (2) |
|
|
|
32 | (1) |
|
|
|
33 | (2) |
|
|
|
35 | (3) |
|
|
|
38 | (3) |
| 2 Using DDL Statements to Create and Manage Tables |
|
41 | (64) |
|
Categorize the Main Database Objects |
|
|
42 | (4) |
|
What Are Database Objects? |
|
|
42 | (2) |
|
|
|
44 | (2) |
|
|
|
46 | (8) |
|
Naming a Table or Other Object |
|
|
48 | (5) |
|
The SQL Statement CREATE TABLE |
|
|
53 | (1) |
|
Review the Table Structure |
|
|
54 | (2) |
|
List the Data Types That Are Available for Columns |
|
|
56 | (7) |
|
|
|
57 | (1) |
|
|
|
58 | (1) |
|
|
|
59 | (2) |
|
|
|
61 | (2) |
|
Explain How Constraints Are Created at the Time of Table Creation |
|
|
63 | (17) |
|
Creating CONSTRAINTS in the CREATE TABLE Statement |
|
|
64 | (4) |
|
|
|
68 | (12) |
|
Drop Columns and Set Column UNUSED |
|
|
80 | (6) |
|
|
|
80 | (4) |
|
|
|
84 | (2) |
|
Create and Use External Tables |
|
|
86 | (5) |
|
|
|
86 | (1) |
|
|
|
87 | (4) |
|
|
|
91 | (3) |
|
|
|
94 | (3) |
|
|
|
97 | (5) |
|
|
|
102 | (3) |
| 3 Manipulating Data |
|
105 | (42) |
|
|
|
106 | (3) |
|
Recursively Truncate Child Tables |
|
|
107 | (2) |
|
|
|
109 | (8) |
|
|
|
110 | (3) |
|
|
|
113 | (4) |
|
|
|
117 | (4) |
|
|
|
118 | (1) |
|
|
|
119 | (1) |
|
|
|
120 | (1) |
|
|
|
121 | (1) |
|
|
|
122 | (11) |
|
|
|
123 | (4) |
|
|
|
127 | (2) |
|
|
|
129 | (3) |
|
|
|
132 | (1) |
|
|
|
133 | (2) |
|
|
|
135 | (3) |
|
|
|
138 | (5) |
|
|
|
143 | (4) |
| 4 Restricting and Sorting Data |
|
147 | (54) |
|
Sort the Rows That Are Retrieved by a Query |
|
|
148 | (9) |
|
|
|
149 | (4) |
|
|
|
153 | (3) |
|
|
|
156 | (1) |
|
|
|
156 | (1) |
|
|
|
157 | (1) |
|
Limit the Rows That Are Retrieved by a Query |
|
|
157 | (16) |
|
|
|
158 | (6) |
|
|
|
164 | (5) |
|
Additional WHERE Clause Features |
|
|
169 | (3) |
|
|
|
172 | (1) |
|
Use Ampersand Substitution to Restrict and Sort Output at Run Time |
|
|
173 | (9) |
|
|
|
174 | (3) |
|
DEFINE and UNDEFINE Commands |
|
|
177 | (1) |
|
The SET and SHOW Commands |
|
|
177 | (1) |
|
|
|
178 | (4) |
|
Use the SQL Row Limiting Clause |
|
|
182 | (4) |
|
|
|
183 | (1) |
|
|
|
184 | (2) |
|
|
|
186 | (1) |
|
|
|
186 | (3) |
|
|
|
189 | (3) |
|
|
|
192 | (5) |
|
|
|
197 | (4) |
| 5 Using Single-Row Functions to Customize Output |
|
201 | (44) |
|
Use Various Types of Functions That Are Available in SQL |
|
|
202 | (3) |
|
|
|
204 | (1) |
|
|
|
204 | (1) |
|
|
|
204 | (1) |
|
|
|
205 | (1) |
|
Use Character, Number, Date, and Analytical (PERCENTILE_CONT, STDDEV, LAG, LEAD) Functions in SELECT Statements |
|
|
205 | (30) |
|
|
|
206 | (1) |
|
|
|
206 | (9) |
|
|
|
215 | (2) |
|
|
|
217 | (6) |
|
|
|
223 | (11) |
|
|
|
234 | (1) |
|
|
|
235 | (2) |
|
|
|
237 | (1) |
|
|
|
238 | (3) |
|
|
|
241 | (4) |
| 6 Using Conversion Functions and Conditional Expressions |
|
245 | (34) |
|
Describe Various Types of Conversion Functions |
|
|
246 | (3) |
|
Explicit and Implicit Conversion |
|
|
247 | (2) |
|
Use the TO_CHAR, TO_NUMBER, and TO_DATE Conversion Functions |
|
|
249 | (15) |
|
|
|
250 | (10) |
|
Additional Conversion Functions |
|
|
260 | (4) |
|
Apply General Functions and Conditional Expressions in a SELECT Statement |
|
|
264 | (5) |
|
|
|
265 | (1) |
|
|
|
266 | (1) |
|
|
|
267 | (1) |
|
|
|
268 | (1) |
|
|
|
269 | (2) |
|
|
|
271 | (1) |
|
|
|
272 | (4) |
|
|
|
276 | (3) |
| 7 Reporting Aggregated Data Using the Group Functions |
|
279 | (40) |
|
Describe the Use of Group Functions |
|
|
280 | (13) |
|
|
|
283 | (2) |
|
|
|
285 | (1) |
|
|
|
286 | (1) |
|
|
|
287 | (1) |
|
|
|
288 | (1) |
|
|
|
289 | (2) |
|
|
|
291 | (1) |
|
|
|
292 | (1) |
|
|
|
293 | (1) |
|
Group Data by Using the GROUP BY Clause |
|
|
293 | (10) |
|
|
|
298 | (1) |
|
|
|
299 | (1) |
|
|
|
300 | (3) |
|
Include or Exclude Grouped Rows by Using the HAVING Clause |
|
|
303 | (2) |
|
|
|
305 | (2) |
|
|
|
307 | (2) |
|
|
|
309 | (6) |
|
|
|
315 | (4) |
| 8 Displaying Data from Multiple Tables |
|
319 | (32) |
|
Describe the Different Types of Joins and Their Features |
|
|
320 | (1) |
|
|
|
320 | (1) |
|
Use SELECT Statements to Access Data from More Than One Table Using Equijoins and Non-Equijoins |
|
|
321 | (12) |
|
|
|
322 | (3) |
|
|
|
325 | (2) |
|
|
|
327 | (2) |
|
|
|
329 | (1) |
|
|
|
330 | (1) |
|
|
|
331 | (2) |
|
Join a Table to Itself by Using a Self-Join |
|
|
333 | (2) |
|
Self-Referencing Foreign Keys |
|
|
334 | (1) |
|
|
|
334 | (1) |
|
View Data That Generally Does Not Meet a Join Condition by Using Outer Joins |
|
|
335 | (4) |
|
|
|
336 | (1) |
|
|
|
336 | (1) |
|
|
|
337 | (1) |
|
For the Record: Oracle Outer Join Syntax: (+) |
|
|
338 | (1) |
|
|
|
339 | (1) |
|
|
|
340 | (2) |
|
|
|
342 | (6) |
|
|
|
348 | (3) |
| 9 Using Subqueries to Solve Queries |
|
351 | (38) |
|
|
|
352 | (2) |
|
Describe the Types of Problems Subqueries Can Solve |
|
|
354 | (2) |
|
Describe the Types of Subqueries |
|
|
356 | (1) |
|
Query Data Using Correlated Subqueries |
|
|
357 | (2) |
|
Update and Delete Rows Using Correlated Subqueries |
|
|
359 | (4) |
|
UPDATE with a Correlated Subquery |
|
|
360 | (2) |
|
DELETE with a Correlated Subquery |
|
|
362 | (1) |
|
Use the EXISTS and NOT EXISTS Operators |
|
|
363 | (1) |
|
|
|
364 | (1) |
|
Write Single-Row and Multiple-Row Subqueries |
|
|
365 | (8) |
|
|
|
365 | (4) |
|
|
|
369 | (4) |
|
|
|
373 | (1) |
|
|
|
374 | (3) |
|
|
|
377 | (8) |
|
|
|
385 | (4) |
| 10 Managing Schema Objects |
|
389 | (60) |
|
Describe How Schema Objects Work |
|
|
390 | (2) |
|
|
|
390 | (1) |
|
|
|
390 | (1) |
|
|
|
391 | (1) |
|
|
|
391 | (1) |
|
|
|
392 | (1) |
|
Create Simple and Complex Views with Visible/Invisible Columns |
|
|
392 | (15) |
|
|
|
393 | (4) |
|
|
|
397 | (3) |
|
|
|
400 | (2) |
|
|
|
402 | (1) |
|
Visible/Invisible Columns |
|
|
403 | (4) |
|
Create, Maintain, and Use Sequences |
|
|
407 | (5) |
|
Creating and Dropping Sequences |
|
|
408 | (1) |
|
|
|
409 | (3) |
|
Create and Maintain Indexes Including Invisible Indexes and Multiple Indexes on the Same Columns |
|
|
412 | (12) |
|
The Oracle Database Optimizer |
|
|
414 | (1) |
|
|
|
414 | (2) |
|
|
|
416 | (2) |
|
|
|
418 | (2) |
|
|
|
420 | (1) |
|
|
|
420 | (1) |
|
Visible and Invisible Indexes |
|
|
421 | (2) |
|
Index Alternatives on the Same Column Set |
|
|
423 | (1) |
|
Perform Flashback Operations |
|
|
424 | (11) |
|
|
|
424 | (1) |
|
|
|
425 | (4) |
|
Recovering Data Within Existing Tables over Time |
|
|
429 | (2) |
|
|
|
431 | (4) |
|
|
|
435 | (2) |
|
|
|
437 | (3) |
|
|
|
440 | (6) |
|
|
|
446 | (3) |
| 11 Using the Set Operators |
|
449 | (24) |
|
|
|
450 | (2) |
|
Use a Set Operator to Combine Multiple Queries into a Single Query |
|
|
452 | (7) |
|
|
|
452 | (4) |
|
|
|
456 | (1) |
|
|
|
456 | (1) |
|
|
|
457 | (1) |
|
|
|
458 | (1) |
|
Control the Order of Rows Returned |
|
|
459 | (3) |
|
|
|
459 | (2) |
|
|
|
461 | (1) |
|
|
|
462 | (1) |
|
|
|
463 | (1) |
|
|
|
464 | (6) |
|
|
|
470 | (3) |
| 12 Managing Objects with Data Dictionary Views |
|
473 | (24) |
|
Query Various Data Dictionary Views |
|
|
474 | (15) |
|
|
|
475 | (2) |
|
Dynamic Performance Views |
|
|
477 | (2) |
|
|
|
479 | (1) |
|
|
|
480 | (1) |
|
|
|
481 | (1) |
|
Identifying a User's Owned Objects |
|
|
482 | (2) |
|
Inspecting Tables and Columns |
|
|
484 | (1) |
|
|
|
485 | (1) |
|
|
|
486 | (1) |
|
|
|
487 | (1) |
|
|
|
488 | (1) |
|
|
|
489 | (1) |
|
|
|
490 | (2) |
|
|
|
492 | (3) |
|
|
|
495 | (2) |
| 13 Manipulating Large Data Sets |
|
497 | (32) |
|
Describe the Features of Multitable INSERTS |
|
|
498 | (16) |
|
Use the Following Types of Multitable INSERTS: Unconditional and Conditional |
|
|
502 | (12) |
|
|
|
514 | (4) |
|
|
|
518 | (1) |
|
|
|
519 | (2) |
|
|
|
521 | (5) |
|
|
|
526 | (3) |
| 14 Controlling User Access |
|
529 | (36) |
|
Differentiate System Privileges from Object Privileges |
|
|
530 | (12) |
|
|
|
531 | (2) |
|
|
|
533 | (2) |
|
|
|
535 | (3) |
|
|
|
538 | (1) |
|
|
|
539 | (1) |
|
|
|
540 | (1) |
|
|
|
541 | (1) |
|
Grant Privileges on Tables and on a User |
|
|
542 | (10) |
|
|
|
544 | (1) |
|
|
|
545 | (1) |
|
|
|
546 | (1) |
|
|
|
546 | (1) |
|
|
|
547 | (1) |
|
View Privileges in the Data Dictionary |
|
|
547 | (2) |
|
|
|
549 | (3) |
|
Distinguish Between Privileges and Roles |
|
|
552 | (2) |
|
|
|
554 | (1) |
|
|
|
555 | (2) |
|
|
|
557 | (5) |
|
|
|
562 | (3) |
| A About the CD-ROM |
|
565 | (4) |
|
|
|
566 | (1) |
|
Installing and Running Total Tester Premium Practice Exam Software |
|
|
566 | (1) |
|
Total Tester Premium Practice Exam Software |
|
|
566 | (1) |
|
|
|
567 | (1) |
|
|
|
567 | (2) |
| Glossary |
|
569 | (18) |
| Index |
|
587 | |