Remote Training - All our taught courses can now be attended from any location.
Click to Learn More ››

banner image

Course Information


This SQL training course is for those who need to extract data from relational database servers like Microsoft SQL Server, Oracle, IBM DB2, PostgreSQL and MySQL using ANSI standard Structured Query Language (SQL). While attendees gain much experience designing complex SQL queries using standard functions, aggregate functions and joins, SQL action statements which facilitate data or database modification do not form part of this course. So as to master the syntax of the language, the course is highly practical in nature and the focus throughout is on coding SQL by hand. On completion, a comprehensive set of course notes, examples, tutor and attendee scripts are made available online for each attendee.


No prior SQL training or relational database experience is assumed.


  • The Role of the Database Server
  • Interacting with a Database Server: The Client
  • Using an Integrated development Environment (IDE)
  • Databases, Schemas, Tables, Rows and Columns
  • Creating and Editing SQL
  • About Statements, Batches and Scripts
  • Executing and Parsing SQL Scripts
  • Using Comments
  • SQL Syntax and The Rules of SQL
  • About Keywords, Identifiers, Operators, Whitespace and Case
  • About the Semi Colon
  • SQL Conventions and Good Practice
  • Working to Minimise, Trap and Find Errors
  • Introducing Queries: The SELECT Statement
  • The Clauses of the SELECT Statement
  • Using FROM to Specify the Source Table(s)
  • Retrieving Entire Tables
  • Retrieving Specific Columns
  • The Importance of Clause Order
  • How to Build Successful Queries
  • Types of Output: About the Result Set
  • Using Column Aliases to Rename Columns
  • Performing Calculations
  • Using Numeric and String Operators to Create Derived Output
  • Ways of Limiting the Output
  • Using ORDER BY to Sort the Output
  • Ways of Working: Some Tips
  • Working with Comparison Operators (=, >= etc)
  • Numeric and String Based Filtering
  • Filtering Based on Calculations
  • Eliminating Duplicate Results with DISTINCT
  • The Execution Order and its Traps
  • Column Aliases: Where You Can and Cannot Use Them
  • Extending Filters with AND and OR
  • Solving AND/OR Difficulties with Brackets
  • Excluding Results with NOT: Some Tips
  • Range Filtering using BETWEEN and IN
  • NULL and its Implications Explained
  • Catering for NULL
  • Matching Patterns with LIKE
  • Qualifying Column Names
  • Joins Explained
  • The Different Types of Joins
  • Mastering the Inner Join: WHERE Syntax
  • Mastering the Inner Join: INNER JOIN Syntax
  • Table Aliases: Why We Need Them
  • Joining Two Tables
  • Joining Multiple tables
  • How to Simplify Joins: An Approach
  • The Importance of the Database Diagram
  • What if there is No Database Diagram?
  • Primary Keys and Foreign Keys Explained
  • Locating Primary Keys and Foreign Keys
  • Do we Need Primary Keys and Foreign Keys?
  • Approaching Joins the Right Way
  • Avoiding Common Join Errors
  • How to Use Standard SQL Functions to Modify Results
  • How to Find the Right Function
  • Mathematical, String and Conversion Functions
  • Functions for Modifying and Calculating Dates
  • Formatting Numbers to Two Decimal Places
  • Replacing NULL with a Specific Value
  • Using Standard Functions in WHERE
  • Using CASE to Specify Output Conditions
  • Understanding How Dates are Stored
  • Introducing Date Functions
  • Converting Text Dates To Date Format
  • Establishing Today's Date
  • Extracting Parts of a Date (Day, Month, Year)
  • Displaying Dates in Specific Date Formats
  • Filtering with Dates
  • The difference Between Tabular and Scalar Results
  • Using Aggregate Functions (MAX(), SUM(), AVG(), COUNT() etc)
  • The Way Aggregate Functions Work
  • Where to Use and Where Not to Use Aggregate Functions
  • Using GROUP BY to Group Results
  • Get GROUP BY Right Every Time!
  • The Need for HAVING: Filtering the Result Table
Public Dates & Prices

There are currently no public dates for this course. This course can be run as a private course either at one of our training centers or at your offices. To get pricing for this use our quote wizard to generate a customised quote or call us on 0118 324 3000 to discuss your requirements.

course icon
2 Days


  • Noel was an excellent tutor. He did check all of the group was able to keep up and if there were any problems or questions of the attendants, he was always willing to help.

    Marianne Seager - Wincanton
  • This was a really good training, nicely paced, very useful and well presented. Thank you, Stuart!

    Joris Latinne - Oracle