Microsoft Transact-SQL Programming
Duration:  5 Days (Face-to-Face or Remote-Live), or 35 hours of coursework with personal facilitation over a four week span (On-Demand)
US Price: $2495 (Face-to-Face or Remote-Live), or $895 (On-Demand)
Delivery Options: Attend face-to-face in the classroom, remote-live or via on-demand training
Registration: Click here to view upcoming schedules and register for face-to-face sessions, click here to register for live remote attendance sessions, or click here to register for on-demand training with a start date that is convenient for you.
 View the course schedule
 View the course schedule
 
This Transact-SQL programming course teaches students relational database fundamentals and SQL programming skills in the Microsoft SQL Server environment. Topics covered include relational database architecture, database design techniques, and simple and complex query skills. The course also covers Microsoft-specific T-SQL programming constructs, creation and use of stored procedures and user-defined functions, use of cursors and updateable views.
This class is intended for analysts, developers,  designers, administrators, and managers who need to exploit the power of the T-SQL programming language.  Upon completion, participants will understand SQL functions, join techniques,  database objects and constraints, and will be able to write useful stored  procedures and views as well as complex queries and updates. Comprehensive  hands on exercises are integrated throughout to reinforce learning and develop  real competency.
 
General computer knowledge.
  
    | Relational Database Fundamentals 
        Overview of Relational Database ConceptsRelational Databases and Relational Database Management Systems Data NormalizationDDL Syntax  | Writing Basic SQL Queries 
        Displaying Table StructuresRetrieving Column Data From a Table or View Selecting Unique ValuesFiltering Rows Using the WHERE ClauseSorting Results Using ORDER BYJoining Multiple TablesUsing Column and Table Aliases | 
  
    | Creating a Database 
        Database Development Methodology OverviewBuilding a Logical Data Model
          
            Identifying Entities and AttributesIsolating KeysRelationships Between EntitiesCreating Entity-Relationship DiagramsTransforming to Physical Design
          
            Migrating Entities to TablesSelecting Primary KeysDefining ColumnsEnforcing Relationships with Foreign KeysConstructing the Database Using DDL
          
            Creating Tables, Indexes, Constraints and ViewsDropping Tables, Indexes, Constraints and ViewsModifying Tables, Indexes, Constraints and Views | Manipulating Query Results 
        Using Row Functions
          
            CharacterNumericDate and TimeData Conversion  (CAST and CONVERT)Using the CASE FunctionHandling Null Values | 
  
    | Advanced Query Techniques 
        Inner JoinsOuter Joins (Left, Right, Full)Performing Self-JoinsSubqueries
          
        Using the EXISTS OperatorTips for Developing Complex SQL QueriesUsing Aggregate Functions
          
        Performing Set Operations
          
            UNIONINTERSECTEXCEPT/MINUSAggregating Results Using GROUP BYRestricting Groups with the HAVING ClauseCreating Temporary Tables | Manipulating Table Data Using SQL's Data Manipulation Language (DML) 
        Inserting Data into TablesUpdating Existing DataDeleting RecordsTruncating Tables Performing Bulk InsertsUsing the OUTPUT ClauseMerging DataWorking with Identity Columns and Sequences | 
  
    | User-Defined Functions 
        Definition and Benefits of UseCREATE FUNCTION
          
            Syntax RETURN Clause and the RETURNS Statement Scalar vs. Table FunctionsComparison with Stored Procedures Returning Scalar Values and Tables ALTER and DROP FUNCTION | Stored Procedures 
        Definition and Benefits of UseCREATE PROCEDURE
          
            SyntaxDefining Input ParametersDefining Output ParametersDefining Optional Parameters ALTER and DROP PROCEDUREImplementation Differences | 
  
    | Triggers 
        Definition and Benefits of UseAlternatives (e.g., Constraints)CREATE TRIGGER
          
        "Inserted" (or "NEW") and "Deleted" 
          (or "OLD") TablesEvent Handling and Trigger ExecutionALTER and DROP TRIGGER | Complex  Queries 
        Using Wildcard Characters with LikeAllowing Users to Build SQL Queries DynamicallyPivoting DataSummarizing Data with ROLLUP and CUBEUsing Partitioned Aggregates | 
  
    | T-SQL  Code Constructs 
        Exploiting the Programming Features of T-SQL
          
            Conditional ConstructsLooping ConstructsBuilding Multi-Batch Scripts Invoking System FunctionsUsing Variables in ScriptsUsing Temporary Tables in Scripts Handling Errors
          
            Using TRY...CATCH BlocksUsing  System Variables and Functions | Working with Data Types and Functions 
        Effective Use of Data Types in SQL
          
            StringNumericTime/DateOther Substitution of Non-null Values with the COALESCE and ISNULL FunctionsAnalyzing Data Points Using Ranking Functions  | 
  
    | Using T-SQL Cursors 
        Overview of CursorsDeclaring a Cursor Using OPEN CURSOR, CLOSE CURSOR, DEALLOCATE CURSOR Statements FETCHing Results Testing @@FETCH_STATUS and @@CURSOR_ROWS Updating Records with Cursors | Working with Table Expressions 
        Overview of  Table ExpressionsWorking with ViewsUsing Derived TablesCommon Table ExpressionsTable-Valued Functions | 
Related Training