logo

OCA Oracle Database 11g SQL Fundamentals I Exam Guide P1


® OCA Oracle Database 11g: SQL Fundamentals I Exam Guide (Exam 1Z0-051) ABOUT THE AUTHORS John Watson (Oxford, UK) works for BPLC Management Consultants, teaching and consulting throughout Europe and Africa. He was with Oracle University for several years in South Africa, and before that worked for a number of companies, government departments, and NGOs in England and Europe. He is OCP qualified in both database and Application Server administration. John is the author of several books and numerous articles on technology and has 25 years of experience in IT. Roopesh Ramklass (South Africa), OCP, is an independent Oracle specialist with over 10 years of experience in a wide variety of IT environments. These include software design and development, systems analysis, courseware development, and lecturing. He has worked for Oracle Support and taught at Oracle University in South Africa for several years. Roopesh is experienced in managing and executing IT development projects, including infrastructure systems provisioning, software development, and systems integration. About the Technical Editor Bruce Swart (South Africa) works for 2Cana Solutions and has over 14 years of experience in IT. Whilst maintaining a keen interest for teaching others, he has performed several roles including developer, analyst, team leader, administrator, project manager, consultant, and lecturer. He is OCP qualified in both database and developer roles. He has taught at Oracle University in South Africa for several years and has also spoken at numerous local Oracle User Group conferences. His passion is helping others achieve greatness. Copyright © 2008 by The McGraw-Hill Companies, Inc. Click here for terms of use. ® OCA Oracle Database 11g: SQL Fundamentals I Exam Guide (Exam 1Z0-051) John Watson Roopesh Ramklass This publication and CD may be used in assisting students to prepare for the OCP Oracle Database 11g: SQL Fundamentals I exam. Neither Oracle Corporation nor The McGraw-Hill Companies warrant that use of this publication and CD will ensure passing the relevant exam. New York Chicago San Francisco Lisbon London Madrid Mexico City Milan New Delhi San Juan Seoul Singapore Sydney Toronto Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Manufactured in the United States of America. Except as permitted under the United States 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 the publisher. 0-07-164380-X The material in this eBook also appears in the print version of this title: 0-07-159786-7. All trademarks are trademarks of their respective owners. Rather than put a trademark symbol after every occurrence of a trademarked name, we use names in an editorial fashion only, and to the benefit of the trademark owner, with no intention of infringement of the trademark. Where such designations appear in this book, they have been printed with initial caps. McGraw-Hill eBooks are available at special quantity discounts to use as premiums and sales promotions, or for use in corporate training programs. For more information, please contact George Hoare, Special Sales, at [email protected] or (212) 904-4069. TERMS OF USE This is a copyrighted work and The McGraw-Hill Companies, Inc. (“McGraw-Hill”) and its licensors reserve all rights in and to the work. Use of this work is subject to these terms. Except as permitted under the Copyright Act of 1976 and the right to store and retrieve one copy of the work, you may not decompile, disassemble, reverse engineer, reproduce, modify, create derivative works based upon, transmit, distribute, disseminate, sell, publish or sublicense the work or any part of it without McGraw-Hill’s prior consent. You may use the work for your own noncommercial and personal use; any other use of the work is strictly prohibited. Your right to use the work may be terminated if you fail to comply with these terms. THE WORK IS PROVIDED “AS IS.” McGRAW-HILL AND ITS LICENSORS MAKE NO GUARANTEES OR WARRANTIES AS TO THE ACCURACY, ADEQUACY OR COMPLETENESS OF OR RESULTS TO BE OBTAINED FROM USING THE WORK, INCLUDING ANY INFORMATION THAT CAN BE ACCESSED THROUGH THE WORK VIA HYPERLINK OR OTHERWISE, AND EXPRESSLY DISCLAIM ANY WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. McGraw-Hill and its licensors do not warrant or guarantee that the functions contained in the work will meet your requirements or that its operation will be uninterrupted or error free. Neither McGraw-Hill nor its licensors shall be liable to you or anyone else for any inaccuracy, error or omission, regardless of cause, in the work or for any damages resulting therefrom. McGraw-Hill has no responsibility for the content of any information accessed through the work. Under no circumstances shall McGraw-Hill and/or its licensors be liable for any indirect, incidental, special, punitive, consequential or similar damages that result from the use of or inability to use the work, even if any of them has been advised of the possibility of such damages. This limitation of liability shall apply to any claim or cause whatsoever whether such claim or cause arises in contract, tort or otherwise. DOI: 10.1036/0071597867 With thanks to Silvia for making life worth living. —John Ameetha, you have been wonderfully supportive and I want to thank you for every moment that you share with me. —Roopesh This page intentionally left blank CONTENTS AT A GLANCE 1 Oracle Server Technologies and the Relational Paradigm .......... 1 2 Data Retrieval Using the SQL SELECT Statement ............... 51 3 Restricting and Sorting Data ................................. 103 4 Single-Row Functions ...................................... 169 5 Using Conversion Functions and Conditional Expressions ......... 227 6 Reporting Aggregated Data Using the Group Functions ........... 273 7 Displaying Data from Multiple Tables .......................... 309 8 Using Subqueries to Solve Problems ........................... 357 9 Using the Set Operators ..................................... 381 10 Manipulating Data ......................................... 403 11 Using DDL Statements to Create and Manage Tables ............. 449 12 Creating Other Schema Objects .............................. 487 Appendix ................................................ 533 Glossary ................................................. 537 Index .................................................... 555 vii This page intentionally left blank For more information about this title, click here CONTENTS Introduction ........................................ xix 1 Oracle Server Technologies and the Relational Paradigm . . . . . . . . . . . . . . . . . . . . . . . . 1 Position the Server Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 The Oracle Server Architecture . . . . . . . . . . . . . . . . . . . . . . . 3 The Oracle Application Server . . . . . . . . . . . . . . . . . . . . . . . . 5 Oracle Enterprise Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Grid Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Exercise 1-1: Investigate Your Database and Application Environment . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Development Tools and Languages . . . . . . . . . . . . . . . . . . . . . 9 Understand Relational Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Rows and Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Data Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Exercise 1-2: Perform an Extended Relational Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Summarize the SQL Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 SQL Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 SQL Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 A Set-oriented Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Use the Client Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 SQL*Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 SQL Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Create the Demonstration Schemas . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Users and Schemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 The HR and OE Schemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Demonstration Schema Creation . . . . . . . . . . . . . . . . . . . . . . 42 ✓ Two-Minute Drill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Q&A Self Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ix x OCA Oracle Database 11g: SQL Fundamentals I Exam Guide (Exam 1Z0-051) Lab Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Self Test Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Lab Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2 Data Retrieval Using the SQL SELECT Statement ... 51 List the Capabilities of SQL SELECT Statements . . . . . . . . . . . . . . . . 52 Introducing the SQL SELECT Statement . . . . . . . . . . . . . . . . 52 The DESCRIBE Table Command . . . . . . . . . . . . . . . . . . . . . . 53 Exercise 2-1: Describing the Human Resources Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Capabilities of the SELECT Statement . . . . . . . . . . . . . . . . . . 57 Execute a Basic SELECT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Syntax of the Primitive SELECT Statement . . . . . . . . . . . . . . 59 Rules Are Meant to be Followed . . . . . . . . . . . . . . . . . . . . . . . 64 Exercise 2-2: Answering Our First Questions with SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 SQL Expressions and Operators . . . . . . . . . . . . . . . . . . . . . . . . 70 NULL Is Nothing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Exercise 2-3: Experimenting with Expressions and the DUAL Table . . . . . . . . . . . . . . . . . . . . 86 ✓ Two-Minute Drill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Q&A Self Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Lab Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Self Test Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Lab Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3 Restricting and Sorting Data . . . . . . . . . . . . . . . . . . . . . 103 Limit the Rows Retrieved by a Query . . . . . . . . . . . . . . . . . . . . . . . . . . 104 The WHERE clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Comparison Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Exercise 3-1: Using the LIKE Operator . . . . . . . . . . . . . . . 124 Boolean Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Precedence Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Sort the Rows Retrieved by a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 The ORDER BY Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Exercise 3-2: Sorting Data Using the ORDER BY Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Contents xi Ampersand Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Substitution Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Define and Verify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Exercise 3-3: Using Ampersand Substitution . . . . . . . . . . . 155 ✓ Two-Minute Drill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Q&A Self Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Lab Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Self Test Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Lab Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 4 Single-Row Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Describe Various Types of Functions Available in SQL . . . . . . . . . . . . 170 Defining a Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Types of Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Use Character, Number, and Date Functions in SELECT Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Using Character Case Conversion Functions . . . . . . . . . . . . . 177 Exercise 4-1: Using the Case Conversion Functions . . . . . 181 Using Character Manipulations Functions . . . . . . . . . . . . . . . 183 Exercise 4-2: Using the Case Manipulation Functions . . . 194 Using Numeric Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Working with Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Using Date Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Exercise 4-3: Using the Date Functions . . . . . . . . . . . . . . . 210 ✓ Two-Minute Drill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Q&A Self Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Lab Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Self Test Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Lab Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 5 Using Conversion Functions and Conditional Expressions . . . . . . . . . . . . . . . . . . . . . . . 227 Describe Various Types of Conversion Functions Available in SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Conversion Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Use the TO_CHAR, TO_NUMBER, and TO_DATE Conversion Functions . . . . . . . . . . . . . . . . . . . . . . . 231 Using the Conversion Functions . . . . . . . . . . . . . . . . . . . . . . . 232 xii OCA Oracle Database 11g: SQL Fundamentals I Exam Guide (Exam 1Z0-051) Exercise 5-1: Converting Dates into Characters Using the TO_CHAR Function . . . . . . . . . . . . . . . . . . . . . 239 Apply Conditional Expressions in a SELECT Statement . . . . . . . . . . . 245 Nesting Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Exercise 5-2: Using NULLIF and NVL2 for Simple Conditional Logic . . . . . . . . . . . . . . . . . . . . . . . 251 Conditional Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Exercise 5-3: Using the DECODE Function . . . . . . . . . . . 260 ✓ Two-Minute Drill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Q&A Self Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Lab Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Self Test Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 Lab Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 6 Reporting Aggregated Data Using the Group Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Describe the Group Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Definition of Group Functions . . . . . . . . . . . . . . . . . . . . . . . . . 274 Types and Syntax of Group Functions . . . . . . . . . . . . . . . . . . . 275 Identify the Available Group Functions . . . . . . . . . . . . . . . . . . . . . . . . 279 Using the Group Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Exercise 6-1: Using the Group Functions . . . . . . . . . . . . . 284 Nested Group Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Group Data Using the GROUP BY Clause . . . . . . . . . . . . . . . . . . . . . . 287 Creating Groups of Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 The GROUP BY Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Grouping by Multiple Columns . . . . . . . . . . . . . . . . . . . . . . . . 291 Exercise 6-2: Grouping Data Based on Multiple Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Include or Exclude Grouped Rows Using the HAVING Clause . . . . . . 294 Restricting Group Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 The HAVING Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Exercise 6-3: Using the HAVING Clause . . . . . . . . . . . . . 298 ✓ Two-Minute Drill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Q&A Self Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Contents xiii Lab Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Self Test Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Lab Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 7 Displaying Data from Multiple Tables . . . . . . . . . . . . . . 309 Write SELECT Statements to Access Data from More Than One Table Using Equijoins and Nonequijoins . . . . . . . . 310 Types of Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Joining Tables Using SQL:1999 Syntax . . . . . . . . . . . . . . . . . . 316 Qualifying Ambiguous Column Names . . . . . . . . . . . . . . . . . . 317 The NATURAL JOIN Clause . . . . . . . . . . . . . . . . . . . . . . . . . 319 Exercise 7-1: Using the NATURAL JOIN . . . . . . . . . . . . 320 The Natural JOIN USING Clause . . . . . . . . . . . . . . . . . . . . . 321 The Natural JOIN ON Clause . . . . . . . . . . . . . . . . . . . . . . . . . 322 Exercise 7-2: Using the NATURAL JOIN…ON Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 N-Way Joins and Additional Join Conditions . . . . . . . . . . . . . 327 Nonequijoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Join a Table to Itself Using a Self-Join . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Joining a Table to Itself Using the JOIN…ON Clause . . . . . . 331 Exercise 7-3: Performing a Self-Join . . . . . . . . . . . . . . . . . . 332 View Data that Does Not Meet a Join Condition by Using Outer Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Inner versus Outer Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Left Outer Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Right Outer Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Full Outer Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Exercise 7-4: Performing an Outer-Join . . . . . . . . . . . . . . . 340 Generate a Cartesian Product of Two or More Tables . . . . . . . . . . . . . . 342 Creating Cartesian Products Using Cross Joins . . . . . . . . . . . . 342 Exercise 7-5: Performing a Cross-Join . . . . . . . . . . . . . . . . 344 ✓ Two-Minute Drill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Q&A Self Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 Lab Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Self Test Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 Lab Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 xiv OCA Oracle Database 11g: SQL Fundamentals I Exam Guide (Exam 1Z0-051) 8 Using Subqueries to Solve Problems . . . . . . . . . . . . . . 357 Define Subqueries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 Exercise 8-1: Types of Subquery . . . . . . . . . . . . . . . . . . . . . 359 Describe the Types of Problems That the Subqueries Can Solve . . . . . 360 Use of a Subquery Result Set for Comparison Purposes . . . . . 360 Star Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 Generate a Table from Which to SELECT . . . . . . . . . . . . . . . 362 Generate Values for Projection . . . . . . . . . . . . . . . . . . . . . . . . 362 Generate Rows to be Passed to a DML Statement . . . . . . . . . 363 Exercise 8-2: More Complex Subqueries . . . . . . . . . . . . . . 363 List the Types of Subqueries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 Single- and Multiple-Row Subqueries . . . . . . . . . . . . . . . . . . . 365 Correlated Subqueries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Exercise 8-3: Investigate the Different Types of Subquery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 Write Single-Row and Multiple-Row Subqueries . . . . . . . . . . . . . . . . . 369 Exercise 8-4: Write a Query That Is Reliable and User Friendly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 ✓ Two-Minute Drill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Q&A Self Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 Lab Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Self Test Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Lab Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 9 Using the Set Operators . . . . . . . . . . . . . . . . . . . . . . . . 381 Describe the Set Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 Sets and Venn Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 Set Operator General Principles . . . . . . . . . . . . . . . . . . . . . . . 384 Exercise 9-1: Describe the Set Operators . . . . . . . . . . . . . . 385 Use a Set Operator to Combine Multiple Queries into a Single Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 The UNION ALL Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 The UNION Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 The INTERSECT Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 The MINUS Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 More Complex Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 Exercise 9-2: Using the Set Operators . . . . . . . . . . . . . . . . 392 Contents xv Control the Order of Rows Returned . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Exercise 9-3: Control the Order of Rows Returned ..... 394 ✓ Two-Minute Drill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Q&A Self Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 Lab Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 Self Test Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 Lab Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 10 Manipulating Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Describe Each Data Manipulation Language (DML) Statement . . . . . 404 INSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 UPDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 MERGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 TRUNCATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 DML Statement Failures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 Insert Rows into a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 Exercise 10-1: Use the INSERT Command . . . . . . . . . . . . 417 Update Rows in a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 Exercise 10-2: Use the UPDATE Command . . . . . . . . . . . 421 Delete Rows from a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 Removing Rows with DELETE . . . . . . . . . . . . . . . . . . . . . . . . 423 Exercise 10-3: Use the DELETE Command . . . . . . . . . . . 424 Removing Rows with TRUNCATE . . . . . . . . . . . . . . . . . . . . . 425 MERGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 Control Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Database Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 The Transaction Control Statements . . . . . . . . . . . . . . . . . . . 431 Exercise 10-4: Use the COMMIT and ROLLBACK Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 ✓ Two-Minute Drill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 Q&A Self Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Lab Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 Self Test Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 Lab Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 xvi OCA Oracle Database 11g: SQL Fundamentals I Exam Guide (Exam 1Z0-051) 11 Using DDL Statements to Create and Manage Tables . . . . . . . . . . . . . . . . . . . . . 449 Categorize the Main Database Objects . . . . . . . . . . . . . . . . . . . . . . . . . 450 Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 Users and Schemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 Naming Schema Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 Object Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 Exercise 11-1: Determine What Objects Are Accessible to Your Session . . . . . . . . . . . . . . . . . . . . . . 455 Review the Table Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 Exercise 11-2: Investigate Table Structures . . . . . . . . . . . . 457 List the Data Types That Are Available for Columns . . . . . . . . . . . . . . 457 Exercise 11-3: Investigate the Data Types in the HR schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 Create a Simple Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 Creating Tables with Column Specifications . . . . . . . . . . . . . 462 Creating Tables from Subqueries . . . . . . . . . . . . . . . . . . . . . . . 464 Altering Table Definitions after Creation . . . . . . . . . . . . . . . . 465 Dropping and Truncating Tables . . . . . . . . . . . . . . . . . . . . . . . 466 Exercise 11-4: Create Tables . . . . . . . . . . . . . . . . . . . . . . . 467 Explain How Constraints Are Created at the Time of Table Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 The Types of Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 Defining Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 Exercise 11-5: Work with Constraints . . . . . . . . . . . . . . . . 476 ✓ Two-Minute Drill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 Q&A Self Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 Lab Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 Self Test Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 Lab Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 12 Creating Other Schema Objects . . . . . . . . . . . . . . . . . . 487 Create Simple and Complex Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 Why Use Views at All? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489 Simple and Complex Views . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 CREATE VIEW, ALTER VIEW, and DROP VIEW . . . . . . . 493 Exercise 12-1: Create Views . . . . . . . . . . . . . . . . . . . . . . . . 496 Contents xvii Retrieve Data from Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 Exercise 12-2: Use Views . . . . . . . . . . . . . . . . . . . . . . . . . . 497 Create Private and Public Synonyms . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 Exercise 12-3: Create and Use Synonyms . . . . . . . . . . . . . 500 Create, Maintain, and Use Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . 501 Creating Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 Using Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 Exercise 12-4: Create and Use Sequences . . . . . . . . . . . . . 507 Create and Maintain Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 What Indexes Are For . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 Types of Index ..................................... 511 Creating and Using Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 Modifying and Dropping Indexes . . . . . . . . . . . . . . . . . . . . . . . 517 Exercise 12-5: Creating Indexes . . . . . . . . . . . . . . . . . . . . . 518 ✓ Two-Minute Drill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 Q&A Self Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 Lab Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 Self Test Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 Lab Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 This page intentionally left blank INTRODUCTION T here is an ever-increasing demand for staff with IT industry certification. The benefits to employers are significant—they can be certain that staff have a certain level of competence—and the benefits to the individuals, in terms of demand for their services, are equally great. Many employers are now requiring technical staff to have certifications, and many IT purchasers will not buy from firms that do not have certified staff. The Oracle certifications are among the most sought after. But apart from rewards in a business sense, knowing that you are among a relatively small pool of elite Oracle professionals and that you have proved your competence is a personal reward well worth attaining. There are several Oracle certification tracks—this book is concerned with the Oracle Database Administration certification track, specifically for release 11g of the database. There are three levels of DBA certification: Certified Associate (OCA), Certified Professional (OCP), and Certified Master (OCM). The OCA qualification is based on two examinations, the first of which is covered in this book. The OCP qualification requires passing a third examination. These examinations can be taken at any Prometric Center and consist of 60 to 70 questions to be completed in 90 minutes. The OCM qualification requires completing a further two-day evaluation at an Oracle testing center, involving simulations of complex environments and use of advanced techniques. The exam content is also likely to be the starting point if you intend to study for the Oracle PL/SQL and Oracle Forms Developer track, though (as of the time of writing) this is at release 10g with no announcement of an 11g release. To prepare for the first OCA examination, you can attend an Oracle University instructor-led training course, you can study Oracle University online learning material, or you can read this book. In all cases, you should also refer to the Oracle Documentation Library for details on syntax. This book will be a valuable addition to other study methods, but it is also sufficient by itself. It has been designed with the examination objectives in mind, though it also includes a great deal of information that will be useful to you in the course of your work. For readers working in development, the subject matter of this book is also the starting point for studying Oracle Corporation’s development tools: SQL, PL/SQL, and the Internet application development kits shipped with the Oracle Application Server. xix Copyright © 2008 by The McGraw-Hill Companies, Inc. Click here for terms of use.
DMCA.com Protection Status Copyright by webtailieu.net