title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.
Vertica Architecture and SQL
Course Description
Overview
This Vertica Architecture and SQL course is designed to provide students with a deeper knowledge and understanding of the Vertica Architecture and SQL and how to write it. Students will learn the Vertica Architecture and SQL starting at the most basic level and going to the most advanced level with many examples.Objectives
- Identify and apply basic SQL functions
- Understand the WHERE clause
- Contrast Distinct vs. Group by
- Recognize and apply functions, such as:
- Aggregation, Join, Date, OLAP, View, Sub-query and Statistical Aggregate
- Recognize and produce Temporary Tables
- Define and distinguish Strings
- Interrogate the Data
- Set Operators
- Demonstrate knowledge of the Data Manipulation Language (DML)
Audience
- Anyone who has a desire to learn Oracle SQL from beginners to an advanced audience.
Prerequisites
- None
Topics
- What is Parallel Processing?
- Nothing Happens on Disk
- Data in Memory is Fast as Lightning
- Parallel Processing Of Data
- The Problem With Row-Based Data
- Columnar Data Can Store Each Column in Their Own Block
- Why Columnar?
- Row Based Blocks vs. Columnar Based Blocks
- Visualize the Data – Rows vs. Columns
- The Architecture of Vertica
- Vertica Architecture Terms
- Distribution Strategies: Segmented By Hash and Unsegmented
- Sorting the Data in a Table CREATE Statement
- Even Distribution
- Uneven Distribution Where the Data is Non-Unique
- Matching Distribution Keys for Co-Location of Joins
- Big Table / Small Table Joins
- Fact and Dimension Table Distribution Key Designs
- Why a Sort Key Improves Performance
- Sort Keys Help Group By, Order By and Window Functions
- Super Projections
- Vertica Projections
- The Five Advantages of Projections
- Creating a Projection
- Read-Optimized Store (ROS)/Write-Optimized Store (WOS)
- Write-Optimized Store (WOS) is Memory Resident
- Updates are Collected in Time-Based Buckets called Epochs
- Vertica Does Not Support In-Place Updates
- K-Safety
- K-Safety of 2
- The Five Data Isolation Modes
- Import/Export Between Multiple Vertica Systems
- Roles
- Compression
- Runlength encoding
- LZO Encoding
- Delta Encoding
- Block Based Dictionary Encoding for Character Data
- Nexus is Available on the Cloud
- Nexus Queries Every Major System
- Setup of Nexus
- Nexus Data Visualization
- Nexus is Doing a Five-Table Join
- Nexus Generates the SQL Automatically
- Nexus Delivers the Report
- Cross-System Joins From Teradata, Oracle and SQL Server
- The Tabs of the Super Join Builder
- The 9 Tabs of the Super Join Builder:
- Objects Tab 1 - Selecting Columns in the Objects Tab
- Columns Tab 2 - Removing Columns From the Report in the Columns Tab
- Sorting Tab 3
- Joins Tab 4
- Where Tab 5 - Using the WHERE Tab For Additional WHERE or AND
- SQL Tab 6 – check paragraph below
- Answer Set Tab 7
- Analytics Tab 9
- Analytics Tab
- Nexus Data Movement
- Moving a Single Table To a Different System
- The Single Table Data Movement Screen
- Moving an Entire Database To a Different System
- The Database Mover Screen
- The Database Mover Options Tab
- Converting DDL Table Structures
- Compare and Synchronize
- Compare Two Different Databases From Different Systems
- Comparisons Down to the Column Level
- The Results Tab
- View Differences
- Synchronizing Differences In the Results Tab
- Hound Dog Compression
- Introduction
- Setting your Path
- Setting Your Default Database
- SELECT * (All Columns) in a Table
- Fully Qualifying a Database, Schema and Table
- SELECT Specific Columns in a Table
- Commas in the Front or Back?
- Sort the Data with the ORDER BY Keyword
- ORDER BY Defaults to Ascending
- Use the Name or the Number in your ORDER BY Statement
- Two Examples of ORDER BY using Different Techniques
- Changing the ORDER BY to Descending Order
- NULL Values sort First in Ascending Mode (Default)
- NULL Values sort Last in Descending Mode (DESC)
- Major Sort vs. Minor Sorts
- Multiple Sort Keys using Names vs. Numbers
- Sorts are Alphabetical, NOT Logical
- Using A CASE Statement to Sort Logically
- How to ALIAS a Column Name
- A Missing Comma can by Mistake become an Alias
- Aliasing a Column Name With Spaces or Reserved Words
- Comments using Double Dashes are Single Line Comments
- Comments for Multi-Lines
- Formatting Number
- Formatting Dates
- The WHERE Clause limits Returning Rows
- Double Quoted Aliases are for Reserved Words and Spaces
- Character Data needs Single Quotes in the WHERE Clause
- Comparisons against a Null Value
- NULL means UNKNOWN DATA so Equal (=) won’t Work
- Use IS NULL or IS NOT NULL when dealing with NULLs
- Using Greater Than or Equal To (>=)
- AND in the WHERE Clause
- Troubleshooting AND
- OR in the WHERE Clause
- Troubleshooting Or
- Troubleshooting Character Data
- Using Different Columns in an AND Statement
- What is the Order of Precedence?
- Using Parentheses to change the Order of Precedence
- Using an IN List in place of OR
- The IN List is an Excellent Technique
- IN List vs. OR brings the same Results
- The IN List Can Use Character Data
- Using a NOT IN List
- Null Values in a NOT IN List Bring Back No Rows
- A Technique for Handling Nulls with a NOT IN List
- BETWEEN is Inclusive
- NOT BETWEEN is Also Inclusive
- LIKE uses Wildcards Percent ‘%’ and Underscore ‘_’
- LIKE command Underscore is Wildcard for one Character
- LIKE Command Works Differently on Char Vs Varchar
- LIKE Command on Character Data Auto Trims
- Numbers are Right Justified and Character Data is Left
- An Example of Data with Left and Right Justification
- A Visual of CHARACTER Data vs. VARCHAR Data
- Use the TRIM command to remove spaces on CHAR Data
- Escape Character in the LIKE Command changes Wildcards
- Escape Characters Turn off Wildcards in the LIKE Command
- The Distinct Command
- Distinct vs. GROUP BY
- The 3 Rules of Aggregation
- There are Five Aggregates
- Troubleshooting Aggregates
- GROUP BY when Aggregates and Normal Columns Mix
- GROUP BY delivers one row per Group
- GROUP BY Dept_No or GROUP BY 1 the same thing
- Limiting Rows and Improving Performance with WHERE
- WHERE Clause in Aggregation limits unneeded Calculations
- Keyword HAVING tests Aggregates after they are Totaled
- Keyword HAVING is like an Extra WHERE Clause for Totals
- Keyword HAVING tests Aggregates after they are Totaled
- Getting the Average Values Per Column
- Average Values Per Column For all Columns in a Table
- Group By Rollup
- GROUP BY Rollup Result Set
- A Two-Table Join Using Traditional Syntax
- A two-table join using Non-ANSI Syntax with Table Alias
- You Can Fully Qualify All Columns
- A two-table join using ANSI Syntax
- Both Queries have the same Results and Performance
- LEFT OUTER JOIN
- RIGHT OUTER JOIN
- FULL OUTER JOIN
- Which Tables are the Left and which Tables are Right?
- INNER JOIN with Additional AND Clause
- ANSI INNER JOIN with Additional AND Clause and WHERE Clause
- OUTER JOIN with Additional WHERE Clause and AND Clause
- Evaluation Order for Outer Queries
- The DREADED Product Join
- The DREADED Product Join Results
- The Horrifying Cartesian Product Join
- The ANSI Cartesian Join will ERROR
- The CROSS JOIN
- The Self Join
- The Self Join with ANSI Syntax
- How would you Join these two tables?
- An Associative Table is a Bridge that Joins Two Tables
- The 5-Table Join – Logical Insurance Model
- The Nexus Query Chameleon Writes the SQL for Users.
- Current_Date
- Current_Date, Current_Time And Current_Timestamp
- Timestamp Differences
- Getdate
- Date and Time Keywords
- Using CAST in Literal Values
- Add or Subtract Days from a date
- Formatting Dates
- Formatting Date Example
- A Summary of Math Operations on Dates
- The ADD_MONTHS Command
- The EXTRACT Command
- YEAR, MONTH, and DAY Functions
- A Better Technique for YEAR, MONTH, and DAY Functions
- Another Version of the EXTRACT Command
- EXTRACT from DATES and TIME
- Why EXTRACT is a Better Form
- EXTRACT with DATE and TIME Literals
- EXTRACT of the Month on Aggregate Queries
- AGE_IN_MONTHS and AGE_IN_YEARS
- DATE_TRUNC
- DATEDIFF
- DAYOFWEEK
- Intervals for Date, Time and Timestamp
- Interval Data Types and the Bytes to Store Them
- Using Intervals
- How a Simple Interval Handles Leap Year
- Interval Arithmetic Results
- A DATE Interval Example Going Back in Time
- A Complex Time Interval Example using CAST
- A Complex Time Interval Example using CAST
- The OVERLAPS Command
- The OVERLAPS Command using TIME
- The Row_Number Command
- Using a Derived Table and Row_Number
- Ordered Analytics OVER
- RANK and DENSE RANK
- RANK Defaults to Ascending Order
- Getting RANK to Sort in DESC Order
- RANK() OVER and PARTITION BY
- PERCENT_RANK() OVER
- Finding Gaps Between Dates
- CSUM:
- Rows Unbounded Preceding Explained
- Making Sense of the Data
- Making Even More Sense of the Data
- The Major and Minor Sort Key(s)
- The ANSI CSUM – Getting a Sequential Number
- Troubleshooting The ANSI OLAP on a GROUP BY
- Reset with a PARTITION BY Statement
- PARTITION BY only Resets a Single OLAP not ALL of them
- PARTITION BY only Resets a Single OLAP not ALL of them
- CURRENT ROW AND UNBOUNDED FOLLOWING
- Different Windowing Options
- Moving Sum has a Moving Window
- How ANSI Moving SUM Handles the Sort
- Moving SUM every 3-rows Vs a Continuous Average
- Partition By Resets an ANSI OLAP
- The Moving Window is Current Row and Preceding
- How Moving Average Handles the Sort
- Moving Average
- Moving Average every 3-rows Vs a Continuous Average
- Partition By Resets an ANSI OLAP
- Moving Difference using ANSI Syntax
- COUNT OVER for a Sequential Number
- COUNT OVER Without Rows Unbounded Preceding
- The MAX OVER Command
- MAX OVER with PARTITION BY Reset
- MAX OVER Without Rows Unbounded Preceding
- The MIN OVER Command
- MIN OVER Without Rows Unbounded Preceding
- Finding a Value of a Column in the Next Row with MIN
- The CSUM For Each Product_Id and the Next Start Date
- How Ntile Works
- NTILE
- FIRST_VALUE
- LAST_VALUE
- LEAD
- LAG
- MEDIAN with Partitioning
- CUME_DIST
- SUM(SUM(n))
- There are Three types of Temporary Tables
- CREATING A Derived Table
- Naming the Derived Table
- Aliasing the Column Names in The Derived Table
- Multiple Ways to Alias the Columns in a Derived Table
- CREATING A Derived Table using the WITH Command
- The Same Derived Query shown Three Different Ways
- Most Derived Tables Are Used To Join To Other Tables
- The Three Components of a Derived Table
- Visualize This Derived Table
- Our Join Example With A Different Column Aliasing Style
- Column Aliasing Can Default For Normal Columns
- Our Join Example With The WITH Syntax
- Clever Tricks on Aliasing Columns in a Derived Table
- A Derived Table lives only for the lifetime of a single query
- An Example of Two Derived Tables in a Single Query
- Example of Two Derived Tables in a Single WITH Statement
- Syntax for Temporary Tables
- Temporary Tables Explained
- Key Temporary Table Terms
- Creating and Populating a Local Temporary Table
- Using a Local Temporary Table
- Creating and Populating a Global Temporary Table
- Some Great Examples of Creating a Temporary Table Quickly
- Creating a Temporary Table That is Sorted
- A Temp Table That Populates Some of the Rows
- A Temporary Table With Some of the Columns
- An IN List is much like a Subquery
- An IN List Never has Duplicates – Just like a Subquery
- The Subquery
- The Three Steps of How a Basic Subquery Works
- These are Equivalent Queries
- The Final Answer Set from the Subquery
- The Basics of a Correlated Subquery
- The Top Query always runs first in a Correlated Subquery
- Correlated Subquery Example vs. a Join with a Derived Table
- How to handle a NOT IN with Potential NULL Values
- IN is equivalent to =ANY
- Using a Correlated Exists
- How a Correlated Exists matches up
- The Correlated NOT Exists
- The Correlated NOT Exists Answer Set
- The LENGTH Command Counts Characters
- The LENGTH Command – Spaces can Count too
- LENGTH and CHARACTER_LENGTH Are Equivalent
- OCTET_LENGTH
- The TRIM Command trims both Leading and Trailing Spaces
- Trim Combined with the CHARACTERS Command
- How to TRIM only the Trailing Spaces
- A Visual of the TRIM Command Using Concatenation
- Trim and Trailing is Case Sensitive
- How to TRIM Trailing Letters
- The SUBSTRING Command
- SUBSTRING and SUBSTR are equal, but use different syntax
- How SUBSTRING Works with NO ENDING POSITION
- Using SUBSTRING to move Backwards
- How SUBSTRING Works with a Starting Position of -1
- How SUBSTRING Works with an Ending Position of 0
- An Example using SUBSTRING, TRIM and CHAR Together
- The POSITION Command finds a Letters Position
- Using the SUBSTRING to Find the Second Word On
- Concatenation
- Four Concatenations Together
- Troubleshooting Concatenation
- The NULLIFZERO Command
- The NULLIFZERO vs. Zeroes
- Quiz – Fill in the Blank Values in the Answer Set
- Answer to Quiz – Fill in the Blank Values in the Answer Set
- Quiz – Fill in the Answers for the NULLIF Command
- Answer – Fill in the Answers for the NULLIF Command
- The ZEROIFNULL Command
- Answer to the ZEROIFNULL Question
- The COALESCE Command
- The COALESCE Answer Set
- The Coalesce Quiz
- Answer – The Coalesce Quiz
- The COALESCE Command – Fill In the Answers
- The COALESCE Answer Set
- COALESCE is Equivalent to This CASE Statement
- Some Great CAST (Convert And STore) Examples
- Some Great CAST (Convert And Store) Examples
- A Rounding Example
- Some Great CAST (Convert And Store) Examples
- Quiz - The Basics of the CASE Statements
- Answer to Quiz - The Basics of the CASE Statements
- Using an ELSE in the Case Statement
- Using an ELSE as a Safety Net
- Rules For a Valued Case Statement
- Rules For a Searched Case Statement
- The Basics of the CASE Statements
- The Basics of the CASE Statement
- Valued Case Vs. A Searched Case
- Quiz - Valued Case Statement
- Answer - Valued Case Statement
- Quiz - Searched Case Statement
- Answer - Searched Case Statement
- Quiz - When NO ELSE is present in CASE Statement
- Answer - When NO ELSE is present in CASE Statement
- When an ELSE is present in CASE Statement
- Answer - When an ELSE is present in CASE Statement
- The CASE Challenge
- The CASE Challenge Answer
- Combining Searched Case and Valued Case
- A Trick for getting a Horizontal Case
- Nested Case
- Put a CASE in the ORDER BY
- The Fundamentals of Views
- Creating a Simple View to Restrict Sensitive Columns
- You SELECT From a View
- Creating a Simple View to Restrict Rows
- A View Provides Security for Columns and Rows
- Basic Rules for Views
- How to Modify a View
- An Exception to the ORDER BY Rule inside a View
- Views Are Sometimes CREATED for Formatting
- Creating a View to Join Tables Together
- How to Alias Columns in a View CREATE
- The Standard Way Most Aliasing is Done
- What Happens When Both Aliasing Options Are Present
- Resolving Aliasing Problems in a View CREATE
- Answer to Resolving Aliasing Problems in a View CREATE
- Aggregates on View Aggregates
- Altering A Table After a View Has Been Created
- A View that Errors After An ALTER
- Rules of Set Operators
- INTERSECT Explained Logically
- UNION Explained Logically
- UNION ALL Explained Logically
- EXCEPT Explained Logically
- Minus Explained Logically
- An Equal Amount of Columns in both SELECT List
- Columns in the SELECT list should be from the same Domain
- The Top Query handles all Aliases
- The Bottom Query does the ORDER BY (a Number)
- Great Trick: Place your Set Operator in a Derived Table
- UNION Vs UNION ALL
- Using UNION ALL and Literals
- A Great Example of how EXCEPT works
- USING Multiple SET Operators in a Single Request
- Changing the Order of Precedence with Parentheses
- Using UNION ALL for speed in Merging Data Sets
- Distribution Strategies: Segmented By Hash and Unsegmented
- Sorting the Data in a Table CREATE Statement
- Even Distribution
- Uneven Distribution Where the Data is Non-Unique
- Matching Distribution Keys for Co-Location of Joins
- Big Table / Small Table Joins
- Fact and Dimension Table Distribution Key Designs
- Why a Sort Key Improves Performance
- Sort Keys Help Group By, Order By and Window Functions
- Syntax for Temporary Tables
- Temporary Tables Explained
- Key Temporary Table Terms
- Creating and Populating a Local Temporary Table
- Using a Local Temporary Table
- Creating and Populating a Global Temporary Table
- Some Great Examples of Creating a Temporary Table Quickly
- Creating a Temporary Table That is Sorted
- A Temp Table That Populates Some of the Rows
- A Temporary Table With Some of the Columns
- INSERT Syntax # 1 and 2
- INSERT/SELECT Command
- INSERT/SELECT example using All Columns (*)
- INSERT/SELECT example with Less Columns
- Two UPDATE Examples
- Subquery UPDATE Command Syntax
- Join UPDATE Command Syntax
- Fast UPDATE
- The Stats Table
- The STDDEV_POP Function
- The STDDEV_SAMP Function
- The VAR_POP Function
- The VAR_SAMP Function
- The VARIANCE Function
- The CORR Function
- The COVAR_POP Function
- The COVAR_SAMP Function
- The REGR_INTERCEPT Function
- The REGR_SLOPE Function
- The REGR_AVGX Function
- The REGR_AVGY Function
- The REGR_COUNT Function
- The REGR_R2 Function
- The REGR_SXX Function
- The REGR_SXY Function
- The REGR_SYY Function
- Using GROUP BY
Related Courses
-
Querying Data with Microsoft Transact-SQL
MOC-DP-080T00- Duration: 2 Days
- Delivery Format: Classroom Training, Online Training
- Price: 1,190.00 USD
-
SQL Server Integration Services
MOC-55321- Duration: 5 Days
- Delivery Format: Classroom Training, Online Training
- Price: 2,500.00 USD
Self-Paced Training Info
Learn at your own pace with anytime, anywhere training
- Same in-demand topics as instructor-led public and private classes.
- Standalone learning or supplemental reinforcement.
- e-Learning content varies by course and technology.
- View the Self-Paced version of this outline and what is included in the SPVC course.
- Learn more about e-Learning
Course Added To Shopping Cart
bla
bla
bla
bla
bla
bla
Self-Paced Training Terms & Conditions
Exam Terms & Conditions
Sorry, there are no classes that meet your criteria.
Please contact us to schedule a class.
STOP! Before You Leave
Save 0% on this course!
Take advantage of our online-only offer & save 0% on any course !
Promo Code skip0 will be applied to your registration
Purchase Information
title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.