Sumário Itens Encontrados: 75Part I: Features and Theory 1Chapter 1: Joins 5ANSI Joins 6Other Types of Joins 10Oracle-Specific Syntax 15ANSI vs. Oracle Native Syntax 23Limitation of the Oracle Native Syntax 23Unnesting Collections 36Correlated Inline Views and Subqueries 39ANSI to Native Transformation 43Clearness and Readability 52Mixing Syntax 56Controlling Execution Plan 60Limitations of ANSI 61Summary 65Chapter 2: Query Transformations 67Summary 82About the Author viiIntroduction ixChapter 3: Analytic Functions 85Differences and Interchangeability of Functions 98Summary 102Chapter 4: Aggregate Functions 103Pivot and Unpivot Operators 110Cube, Rollup, Grouping Sets 113Summary 118Chapter 5: Hierarchical Queries: Connect by 119Pseudocolumn Generation in Detail 135Summary 138Chapter 6: Recursive Subquery Factoring 139Traversing Hierarchies 146Once Again About Cycles 151Limitations of the Current Implementation 156Summary 158Chapter 7: Model 161Brief Analysis of the Performance 187Model Parallel Execution 193Summary 197Chapter 8: Row Pattern Matching: match_recognize 199Summary 216Chapter 9: Logical Execution Order of Query Clauses 217Summary 233Chapter 10: Turing Completeness 235Summary 242Part II: PL/SQL and SQL solutions 243Chapter 11: When PL/SQL Is Better Than Vanilla SQL 245Specifics of Analytic Functions 246Fetch Termination 246Avoiding Multiple Sorts 264Iterative-Like Computations 272When There Is No Effective Built-In Access Method 273Problems of a Combinatorial Nature 279Specifics of Joins and Subqueries 287Specifics of Joins 288Limitations of the Subqueries 299Summary 303Chapter 12: Solving SQL Quizzes 305Converting into Decimal Numeral System 305Connected Components 308Ordering Dependencies 314Percentile with Shift 320N Consequent 1s 325Next Value 328Next Branch 332Random Subset 342Covering Ranges 347Zeckendorf Representation 349Top Paths 356Resemblance Group 362Baskets 367Longest Increasing Subsequence 372Quine 377Summary 378Appendix A: Useful Oracle Links 381Index 383