Kamailio training course description Kamailio (formerly known as OpenSER) provides a scalable SIP server suitable for small through to carrier grade installations. This course will teach you how to install, configure and troubleshoot the Kamailio product. What will you learn Install Kamailio. Control Kamailio. Configure Kamailio. Troubleshoot Kamailio. Kamailio training course details Who will benefit: Technical staff working with Kamailio. Prerequisites: Definitive SIP for engineers. UNIX fundamentals. Duration 3 days Kamailio training course contents What is Kamailio? What is SER? SER history, OpenSER, versions. Kamailio. Supported platforms, SIP review. Hands on Simple SIP telephony without a SIP server. Installing Kamailio Downloading Kamailio, Installation from source, package installation, CVS, default passwords Hands on Kamailio installation. Controlling Kamailio Starting, stopping and controlling Kamailio. Starting Kamailio automatically at boot time. Hands on Controlling the server First configuration Basic configuration. Hands on SIP telephony with Kamailio. Monitoring Logs, xlog, openserctl, syslog. Hands on Logging. Kamailio architecture Kamailio core, Kamailio modules, file locations, persistent data storage, database structure. Hands on Database integration. Core configuration Keywords, values, parameters, functions, routing blocks, constructs. Hands on Advanced Kamailio configuration. Module configuration Overview of modules available, AAA integration, least cost routing. Redirects Hands on Configuring modules. Architectures DNS integration, peering, OSP, NAT traversal, SIP to GSM. Hands on peering. Asterisk integration Altering tables to work with Asterisk, Asterisk as a voicemail system. Design issues, High availability. Hands on Integrating Kamailio with Asterisk.
CPRI training course description This course is designed to give the delegate a technical overview of the CPRI protocols and link setup. We will explain the industry cooperation to define the key internal interface between the radio equipment control (REC) and the radio equipment (RE). Also explained will be the SAP that the CPRI link supports for IQ Interface, frame synchronisation, link control and management and the master and slave ports. We will investigate the CPRI block diagram and together with the data formats and sample mapping solutions. The CPRI frame hierarchy and hyperframe construction will be detailed during this three day overview course. What will you learn Explain the CPRI Block diagram. Understand hyperframing capabilities. Explain the CPRI frame format. Understand how the synchronisation is compliant with 3GPP & WiMAX requirements. Understand the two electrical characteristics of CPRI standard. Understand the CPRI standards structure. Understand the CPRI system & Interface definitions. List the four standard bit rates of the CPRI specification. Understand the CPRI Protocol stacks. CPRI training course details Who will benefit: Anyone looking for a technical overview of the CPRI protocols and link set up. Prerequisites: None. Duration 3 days CPRI training course contents System Description Subsystems. Nodes. Protocol layers. Protocol data planes. User data planes. Antenna carriers. Service Access Points (SAP). Link. Passive Link. Hop. Multi-hop Connection. Logical Connection. Master Port & Slave Port. System Architecture Basic System Architecture & Common Public Radio Interface Definition. System Architecture with a link between Res. Reference configurations: Chain topology, Tree topology, Ring topology. RECs & REs in both chain & tree topology Functional description Radio Functionality. Functional Decomposition between REC and RE: For UTRA FDD, For WiMAX & E-UTRA, For GSM. CPRI Control Functionality. Interface Baseline Interface Specification. Protocol Overview. IQ Data. Synchronisation. L1 Inband Protocol. C & M Data. Protocol Extensions. Vendor Specific Information. Physical Layer Specifications Line Bit Rate. Physical Layer Modes. Electrical Interface. Optical Interface. Line Coding. Bit Error Correction/Detection. Frame Structure. Mapping Methods. Container Blocks. Hyperframes. GSM, UMTS & WiMAX Timing. Link Delay Accuracy & Cable Delay Calibration. Link Maintenance Data Link Layer (Layer 2) Specification Layer 2 Framing for Fast & Slow C & M Channels. Medium Access Control/Data Mapping. Flow Control. Start-up Sequence General. Layer 1 Start-up Timer. State Description. Transition Description. Interoperability Reserved Bandwidth. Version Numbers. Supplementary Specification Details Delay Calibration Example. Reference Test Points. List of Abbreviations & Gloss
Windows certificates training course description A hands-on training course concentrating solely on PKI using Windows certificates. What will you learn Explain how PKI works. Install windows certificates. Configure windows certificates. Troubleshoot windows certificates. Windows certificates training course details Who will benefit: Technical security staff. Prerequisites: Windows server. Duration 3 days Windows certificates training course contents PKI Symmetric encryption, asymmetric encryption, authentication, digital signing, hashing, certificates, Certification Authorities, Root CA, Intermediate CA, policy CA, Issuing CA, Certificate Revocation Lists. Hands on Inspecting a certificate. Policies and PKI Security policy, certification policy. CA hierarchy Impact of CAs on Active Directory, CA architecture, number of tiers, issuing CA organisation, CA configuration files. CA security. Hands on CA installation PKI health tool, monitoring. Certificate revocation When to revoke, OCSP. Hands on Revoking certificates. Certificate validation Discovery, validation, checks, revocation checking, certificate chains, certification publication. Hands on Event viewer. Certificate templates Version 1, version 1, default, modifying templates. Hands on Template management. Roles Criteria roles, CA administrator, Certificate manager, Backup operator, Auditor. Other PKI management roles. Disaster recovery Backups, recovery. Hands on certutil. Issuing certificates The certificate enrolment process, enrolment methods, manual enrolment, automatic enrolment. Trust between organisations Creating Trust, CTLs, common root CA, cross certification, bridge CA. Web servers and certificates SSL encryption, certificate authentication. Hands on Web servers. VPN Hands on Certificate deployment for VPN. WiFi Hands on 802.1X
XML primer training course description This course has been designed for web and intranet developers who want to accelerate their learning of XML and its applications without the grind of book learning. Although a basic knowledge of HTML and JavaScript is assumed, it is also assumed you know very little about XML and how to use it. On completion of this course you should understand the benefits of using XML and be able to design XML solutions where applicable to your company's Internet/intranet requirements. The course will be particularly beneficial if you want to know how to communicate data to diverse applications over the Internet or company intranet. What will you learn Write XML. Debug XML. Examine existing code and determine its function. XML primer training course details Who will benefit: Anyone working with XML. Prerequisites: HTML5 development fundamentals Duration 3 days XML primer training course contents The origins of XML Markup languages, SGML, document type definitions and validity, introducing XML, IE and XML, accessing content and adding style. Basic XML XML document structure, elements and attributes, grammar, well formed documents, other XML elements and references. Document Type Definition (DTDs) Creating a DTD, basic declaration, declaring elements, content definitions, entities, entity declarations, notations, defining attributes, attribute types, forcing inclusion or exclusion of DTD sections, validation. Namespaces Declaring namespaces, scoping, removing and changing namespaces, qualified names, attribute namespaces. An introduction to schemas Constructing schemas, defining the root element and its contents,<ELEMENTTYPE>, defining root element contents, adding attributes definitions, <ATTRIBUTETYPE>, <ELEMENT>, <ATTRIBUTE>. XML & the Document Object Model (DOM) What the DOM offers, DOM and W3C. Basic DOM concepts XML documents as trees, terminology of tree elements. Key DOM Objects: The document object and its creation, base objects, IE specifics, the XML node hierarchy. Programming DOM Viewing a DOM model as XML, getting the root element of a document, iterating nodes of a DOM, basic node properties, collection objects, searching for specific values, filtering a nodelist by tagname, more filtering methods, selecting nodes from their attributes. Amending Content and Structure Creating/saving a DOM as XML, changing content/structure, dynamically building a DOM. Using ASP and other techniques ASP techniques, HTTPREQUEST object, XSL, transforming and formatting XML. Formatting Using CSS. CSS And XML. XSL Transformations - XSLT Introduction, the XSL root element, applying XSL stylesheets to XML, XSL elements and operations, instructions - creating text nodes and applying templates, a 'drill-down' approach, simple output formatting, pattern filters - patterns based on position, the Match and Select attributes and their patterns, formatting output, creating new XML in output.
Microsoft Exchange training course description A hands on course focusing on the day to day running of Microsoft Exchange. The course is designed for those with a sound understanding of how Exchange forwards emails and concentrates on important issues such as monitoring, backups and restores. This course can be delivered on any version of Microsoft exchange and tailored as required. What will you learn Install MS Exchange Create, configure and manage user mailboxes. Configure and administer MS Exchange. Backup and restore MS Exchange. Microsoft Exchange training course details Who will benefit: Anyone working with MS Exchange. Prerequisites: Total SMTP and email for engineers Duration 3 days Microsoft Exchange training course contents Review of mail basics Basic routing & Client/Server, Mail flow & protocols, Mail server technology. Exchange features MAPI, Database, The Exchange organisation, Active Directory consideration. Installing Understanding server roles, Planning for Exchange, Preparing Active Directory, Preparing the host server, Installing Exchange. Introduction to Exchange management tools Exchange Management shell, Exchange Management console. Administration Configuring SMTP domains, Send connectors, Receive connectors, Setting up & managing user mailboxes, Setting up resource mailboxes, Mail enabled groups, Address lists. Troubleshooting Security & troubleshooting wizards, Windows platform tools, External/Internet tools.
REXX training course description A hands on training course covering the Restructured EXtended eXecutor (REXX) language. A large number of exercises are used to reinforce and emphasise lecture sessions. What will you learn Write REXX programs. Debug REXX programs. Examine existing code and determine its function. REXX training course details Who will benefit: Anyone wishing to learn REXX. Prerequisites: None although experience in another high level language would be useful. Duration 3 days REXX training course contents Introduction to REXX What is REXX? REXX environments, invoking a REXX exec, a sample REXX exec, REXX clause types. REXX variables and data Literal data, variable data, assignment, simple variables, compound variables, stem variables, constant data, numeric data, arithmetic operations, character manipulation, hexadecimal data. The parse instruction Parse format, Parse examples, Parse arg, Parse pull, Parse value, special templates, place holders, literal templates, numeric templates, variable templates. Control structures Relational conditions, logical operators, simple selection, looping: uncontrolled and controlled loops, infinite loops, conditional loops, controlling loops, leave, iterate, multiple selection, instructions for subroutines, exit. Sub routines and functions Internal and external subroutines, call, ARG(), ARG(n)return, exit, scope of variables, procedure, functions, built in functions, overriding built in functions. Performing I/O Command conventions, preparing to read a file, execio, limitations, execio for reading, DISKR, DISKRU, DISKW, return codes. External functions listdsi, msg, outtrap, prompt, sysdsn, sysvar, storage Tracing Immediate commands, the trace facility, signal and call statements. Built in functions Text handling functions, string handling, word handling, arithmetic, data conversion, bit manipulation, environment. The data stack Data stack structure, REXX instructions for the data stack, REXX functions for the data stack, TSO/E commands for the data stack. REXX in batch TSO/E foreground. TSO/E background.
Cloud deployment training course description This course covers the important topics every cloud professional needs, including, configuration and deployment, security, maintenance, management, and troubleshooting. It covers all aspects of cloud computing infrastructure and administration, with a practical focus on real-world skills. It will help you to master the fundamental concepts, terminology, and characteristics of cloud computing. Deploy and implement cloud solutions, manage the infrastructure, and monitor performance. You will also be able to install, configure, and manage virtual machines. What will you learn Cloud services, models, and characteristics. Virtualization components, installation, and configuration. Infrastructure configurations and optimization. Resource management and specific allocations. IT security concepts, tools, and best practices. Recovery, availability and continuity in the cloud. Cloud deployment training course details Who will benefit: IT professionals looking to deploy and implement cloud solutions, manage the infrastructure, and monitor performance, Install, configure, and manage virtual machines. Prerequisites: Introduction to virtualization. Duration 5 days Cloud deployment training course contents Preparing to Deploy Cloud Solutions Deploying a Pilot Project Testing Pilot Project Deployments Designing a Secure and Compliant Cloud Infrastructure Designing and Implementing a Secure Cloud Environment Planning Identity and Access Management for Cloud Deployments Determining CPU and Memory Sizing for Cloud Deployments Determining Storage Requirements for Cloud Deployments Analysing Workload Characteristics to Ensure Successful Migration Maintaining Cloud Systems Implementing Backup, Restore, Disaster Recovery, and Business Continuity Measures Analysing Cloud Systems for Performance Analysing Cloud Systems for Anomalies and Growth Forecasting Troubleshooting Deployment, Capacity, Automation, and Orchestration Issues Troubleshooting Connectivity Issues Troubleshooting Security Issues
MySQL server admins training course description This MySQL Server administration course is designed for MySQL Server administrators who have a basic understanding of a MySQL database and a good working knowledge of SQL commands. The course provides an understanding of MySQL Architecture and practical experience in setting up, configuring and maintaining a MySQL server, backing up and recovering data and optimising query performance. This MySQL Server administration course also covers MySQL replication and its role in high availability and scalability. What will you learn Use MySQL Workbench. Install and configure a MySQL Server . Administer and tune a MySQL server. Configure log files and interpret error messages.. Secure the Server. Administer a replication topology. MySQL server admin training course details Who will benefit: Database administrators, Database developers and Technical consultants. Prerequisites: Introduction to MySQL Duration 5 days MySQL server admin training course contents Introduction to Oracle Application Express APEX concepts APEX main components Workspaces, database applications and websheet applications Creating a workspace The Workspace Administrator Upgrading APEX Logging into APEX Running an application SWL Workshop Use APEX to browse, create and modify objects Process ad hoc SQL statements Manage scripts in APEX Create, run and save SQL queries Build a database application Application components Create an application Create an application from a spreadsheet Create reports Create reports using wizards Edit report attributes Add links to reports Create a link to a printer-friendly version of a report Save and print reports in different formats Using files Uploading images Creating cascading stylesheet files Uploading static files Adding an Image as an application logo Adding a reference to a Javascript file Pages and regions Web form behaviour in APEX Create a form based on a table Create a form based on a procedure Create a form with a report Create a tabular form Format a form Locking in APEX forms Creating lists of values Overview of application express shared Components Dynamic and static lists of values Create a dynamic list of values Create a static list of values Use a list of values to control data in a report Create a cascading list of values Items and buttons Understand the different Types of items Create items Understand and edit item attributes Use Javascript with item Manipulate items in tabular forms Add dynamic items to a report Create and edit buttons Page Processing Page rendering and page processing Create computations Validate input data Process Data Understand application branching Create conditional branches Shared components Overview of application express navigation components Manage parent and standard tabs Create navigation bar entries Create and use lists and list items Manage breadcrumbs Create shortcuts Shared component subscription User interface defaults Display dynamic content Filter reports with dynamic queries Create charts with a wizard Format charts Create calendars Add links to calendars Create hierarchical trees State and debugging Understand session state Set a session state value Clear the session state Review the session state Review the messages in debug mode Enabling feedback Managing feedback and team development Themes and templates Switch to a different theme View existing templates Understand and manage templates Create a new template Add references to cascading stylesheet and Javascript files Dynamic actions and plug-in components Identify plug-in components and their types Plug In a component Create dynamic actions Use a plug-in in a dynamic action Building website applications Websheet applications and their components Create a websheet application Enable SQL and PL/SQL in a websheet application Add sections and pages to a websheet application Add links on a websheet page Add a data grid to a websheet application Create SQL reports ion websheet applications Add annotations to a websheet application Implementing security Authentication and authorization Provide an authentication scheme Create an authorization scheme using access control Enable and configure session state protection Deploy an appliction Define supporting objects Package an application Export an application Import an application Install supporting objects Administer Apex workspaces Manage workspaces and users Request a schema or storage Purge session state Monitor developer activity log Monitor workspace activity View activity reports Import a workspace Utility programs Import and export data Generate DDL statements View objects reports
MySQL for developers training course description This MySQL Developers training course is designed for MySQL Developers who have a good understanding of a MySQL database and experience of using SQL commands. The course provides further practical experience in more advanced MySQL commands and SQL statements including Stored Routines, Triggers and Event Scheduling. What will you learn Provide the skills needed to write more advanced queries and database maintenance statements on a MySQL database. Use advanced features of the MySQL Client. Use advanced data types. Manage the structure of databases and tables. Manage and using indexes. Write complex SQL query statements. Use advanced SQL expressions. Use advanced SQL functions. Perform advanced Insert, Update, Delete, Replace and Truncate Operations. Use user variable syntax and properties. Import and export data from within MySQL. Import and export data from the command line. Perform complex joins to access multiple tables. Perform complex subqueries. Create, manage and us views. Use prepared statements. Create and use stored routines. Create and use triggers. Obtain database metadata. Optimize queries. Work with the main storage engines. Debug MySQL applications. MySQL for developers training course details Who will benefit: MySQL Developers who have a basic understanding of a MySQL database and SQL commands as covered on the Introduction to MySQL course. Prerequisites: MySQL foundation Duration 5 days MySQL for developers training course contents Introduction Administration and Course Materials, Course Structure and Agenda, Delegate and Trainer Introductions. Client/server concepts MySQL client/server architecture, Server modes, Using client programs, Logging in options, Configuration files, Precedence of logging in options Hands on Using client/server The MySQL client program Using MySQL interactively, The MySQL prompts, Client commands and SQL statements, Editing, Selecting a database, Help, Safe updates, Using script files, Using a source file, Redirecting output into a file, Command line execution, Mysql output formats, Overriding the defaults, Html and xml output, MySQL Utilities. Hands on Using the MySQL client program Data types Bit data type, Numeric data types, Auto_increment, Character string data types, Character sets and collation, Binary string data types, Enum and Set data types, Temporal data types, Timezone support, Handling Missing Or Invalid Data Values, SQL_MODE options. Hands on Using data types Identifiers Using Quotes with identifier naming, Case sensitivity in Identifier naming, Qualifying columns with table and database names, Using reserved words as identifiers, Function names Hands on Using identifiers Databases Database properties, Creating a database, Selecting a database, Altering databases, Dropping databases, Obtaining database metadata, The SHOW command, The INFORMATION_SCHEMA database, The SHOW CREATE command Hands on Using databases Tables and indexes Table properties, Creating tables, Create table using Select or Like, Temporary tables and memory tables, Altering tables, Adding columns, Changing column widths and types, Renaming columns, Dropping columns, Adding constraints, Dropping constraints, Renaming tables, Change the table storage engine, Multiple alterations, Dropping tables, Emptying tables, Obtaining table metadata, Show create table, The information_schema, Index introduction, Structure of a mysql index, Creating and dropping indexes, Creating an index, Altering a table to add an index, Specifying index type, Dropping indexes, Obtaining Index Metadata. Hands on Creating, altering and dropping tables/indexes Querying for data The SQL select statement and MySQL differences, Advanced order by, Order by and collation, Order by with enum datatype, Order by with Set datatype, Ordering with distinct and group by Special features of union, Limit and order by clauses, Group By clause, Group_concat, Using Rollup in a Group By clause. Hands on Querying for data SQL Expressions and functions Components of expressions, Nulls, Numeric expressions, String expressions, Temporal expressions, Comparison functions, Flow control functions, Numeric functions, String functions, Temporal functions. Hands on Using expressions and functions Updating data Update operations and privileges, Inserting rows, Insert using a set clause, Inserting duplicate values, Replacing rows, Updating rows, Update using the order by and limit clauses, Deleting rows, The delete and truncate statements. Exercise: Inserting, updating, replacing and deleting data Connectors MySQL client interfaces, MySQL connectors, Oracle and community conectors, Connecting to MySQL server using Java and PHP connectors, MySQL and NoSQL, Innodb integration with memcached. Obtaining database metadata What is metadata?, The mysqlshow utility, The show and describe commands, Describing tables, The information_schema, Listing tables, Listing columns, Listing views, Listing key_columns_usage. Hands on Obtaining database metadata Debugging Mysql error messages, The show statement, Show errors, Show count(*) errors, Show warnings, Show count(*) warnings, Note messages, The perror utility. Hands on Debugging Joins Overview of inner joins, Cartesian product, Inner joins with original syntax, Non equi-join, Using table aliases to avoid name clashes, Inner Joins With ISO/ANSI Syntax, Outer Joins, Left outer joins, Right outer joins, Full outer joins, Updating multiple tables simultaneously, Updating rows in one table based on a condition in another, Updating rows in one table reading data from another, Deleting from multiple tables simultaneously, Deleting rows in one table based on a condition in another. Hands on Coding joins Subqueries Types of subquery, Multiple-column subqueries, Correlated subqueries, Using the ANY, ALL and SOME operators, Using the EXISTS operator, Subqueries as scalar expressions, Inline views, Converting subqueries to joins, Using subqueries in updates and deletes. Hands on Coding subqueries Views Why views are used, Creating views, View creation restrictions, View algorithms, Updateable views, Altering and dropping views, Displaying information about views, Privileges for views. Hands on Using views Import and Export Exporting using SQL, Privileges required to export data, Importing using SQL, Messages when loading data, Privileges required to load data, Exporting from the command line, Mysqldump main options, Importing from the command line, Mysqlimport main options. Hands on Importing and exporting User variables and prepared statements Creating User variables, User variables in a select, Prepared statements, The prepare statement, The execute statement, The deallocate statement, Using prepared statements in code, with connectors. Hands on Using variables and prepared statements Introduction to stored routines Types of stored routines, Benefits of stored routines, Stored routine features, Differences between procedures and functions, Introduction to the Block, Declaring variables and constants, Assigning values to variables, Definer rights and invoker rights, Using SELECT in stored routines, Altering and dropping stored routines, Obtaining stored routine metadata, Stored routine privileges and execution security. Hands on Writing simple stored routines Stored routines - program logic The IF .. THEN .. ELSEIF construct, The CASE statement, The basic loop, The while loop, The repeat loop, The iterate statement, Nested loops. Hands on Writing stored routines with program logic Stored routines - exception handlers and cursors Dealing with errors using Exception handlers, Cursors, What is a cursor?, Cursor operations, Declaring cursors, Opening and closing cursors, Fetching rows, Status checking. Hands on Writing stored routines with program logic Procedures with parameters Creating procedures with parameters, Calling Procedures With Parameters. Hands on Writing stored routines with parameters Functions What is a function?, The create function statement, Executing functions, Executing functions from code, Executing functions from SQL statements, The deterministic and SQL clauses. Hands on Writing functions Triggers Trigger creation, Restrictions on triggers, The create trigger statement, Using the old and new qualifiers, Managing triggers, Destroying triggers, Required privileges. Hands on Writing triggers Basic optimizations Normalisation of data to third normal form, Using indexes for optimization, General query enhancement, Using Explain to analyze queries, Choosing an INNODB or MYISAM storage engine, Using MySQL Enterprise Monitor in query optimization. Hands on Making use of basic optimizations More about indexes Indexes and joins Hands on Investigating indexes and joins
Querying Microsoft SQL Server course description This course covers the technical skills required to write basic Transact-SQL queries for Microsoft SQL Server and provides the foundation for all SQL Server-related disciplines; namely, database administration, database development and business intelligence. This course helps prepare for exam 70-761. Note: This course is designed for SQL Server 2014or SQL Server 2016. What will you learn Write SELECT statements. Create and implement views and table-valued functions. Transform data by implementing pivot, unpivot, rollup and cube. Create and implement stored procedures. Add programming constructs such as variables, conditions, and loops to T-SQL code. Querying Microsoft SQL Server course details Who will benefit: Database administrators, database developers, and business intelligence professionals. SQL power users, namely, report writers, business analysts and client application developers. Prerequisites: Database fundamentals Duration 5 days Querying Microsoft SQL Server course contents Introduction to Microsoft SQL Server Management studio, creating and organizing T-SQL scripts, using books online. Hands on working with SQL Server tools. T-SQL querying Introducing T-SQL, sets, predicate logic, logical order of operations in SELECT statements, basic SELECT statements, queries that filter data using predicates, queries that sort data using ORDER BY. Hands on introduction to T-SQL querying. Writing SELECT queries Writing simple SELECT statements, eliminating duplicates with DISTINCT, column and table aliases, simple CASE expressions. Hands on writing basic SELECT statements. Querying multiple tables cross joins and self joins, write queries that use Inner joins, write queries that use multiple-table inner joins, write queries that use self-joins, write queries that use outer joins, write queries that use cross joins. Hands on querying multiple tables. Sorting and filtering data Sorting data, filtering data with predicates, filtering data with TOP and OFFSET-FETCH, working with unknown values, WHERE clause, ORDER BY clause, TOP option, OFFSET-FETCH clause. Hands on sorting and filtering data. SQL Server data types Introducing SQL Server data types, Character data, date and time data, queries that return date and time data, write queries that use date and time functions, write queries that return character data, write queries that return character functions. Hands on working with SQL Server data types. DML Adding data to tables, modifying and removing data, generating automatic column values, Inserting records with DML, updating and deleting records using DML. Hands on using DML to modify data. Built-in functions Queries with built-in functions, conversion functions, logical functions, functions with NULL, queries that use conversion functions, queries that use logical functions, queries that test for nullability. Hands on built-in functions Grouping and aggregating data Aggregate functions, the GROUP BY clause, filtering groups with HAVING, queries that use the GROUP BY clause, queries that use aggregate functions, queries that use distinct aggregate functions, queries that filter groups with the HAVING clause. Hands on grouping and aggregating data. Subqueries Self-contained subqueries, correlated subqueries, EXISTS predicate with subqueries, scalar and multi-result subqueries. Hands on subqueries. Table expressions Views, inline table-valued functions, derived tables, common table expressions. queries that use views, write queries that use derived tables, Common Table Expressions (CTEs), write queries that se inline Table valued expressions (TVFs). Hands on table expressions. Set operators The UNION operator, EXCEPT and INTERSECT, APPLY, queries that use UNION set operators and UNION ALL, CROSS APPLY and OUTER APPLY operators. Hands on set operators. Windows ranking, offset, and aggregate functions OVER, window functions, ranking functions, offset functions, window aggregate functions. Hands on; windows ranking, offset, and aggregate functions. Pivoting and grouping sets PIVOT and UNPIVOT, grouping sets, queries that use the PIVOT operator, queries that use the UNPIVOT operator, queries that use the GROUPING SETS CUBE and ROLLUP subclauses. Hands on pivoting and grouping sets Executing stored procedures Querying data with stored procedures, passing parameters to stored procedures, simple stored procedures, dynamic SQL, the EXECUTE statement to invoke stored procedures. Hands on executing stored procedures. Programming with T-SQL T-SQL programming elements, controlling program flow, declaring variables and delimiting batches, control-of-flow elements, variables in a dynamic SQL statement, synonyms. Hands on programming with T-SQL Error handling T-SQL error handling, structured exception handling, redirect errors with TRY/CATCH, THROW to pass an error message back to a client. Hands on implementing error handling. Implementing transactions Transactions and the database engines, controlling transactions, BEGIN, COMMIT, and ROLLBACK, adding error handling to a CATCH block. Hands on implementing transactions.