{"id":1162,"date":"2014-02-14T12:56:50","date_gmt":"2014-02-14T20:56:50","guid":{"rendered":"http:\/\/3.209.169.194\/blogs\/joe\/?p=1162"},"modified":"2014-02-14T12:56:50","modified_gmt":"2014-02-14T20:56:50","slug":"new-course-sql-server-transact-sql-common-table-expressions","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/joe\/new-course-sql-server-transact-sql-common-table-expressions\/","title":{"rendered":"New Course: &ldquo;SQL Server: Transact-SQL Common Table Expressions&rdquo;"},"content":{"rendered":"<p>Today Pluralsight published my new course, \u201c<a href=\"http:\/\/pluralsight.com\/training\/Courses\/TableOfContents\/sqlserver-transact-sql-common-table-expressions\" target=\"_blank\">SQL Server: Transact-SQL Common Table Expressions<\/a>\u201d.  <\/p>\n<p>This is a demo-centric, short course on how to create and use common table expressions (CTEs) correctly, for developers and DBAs from SQL Server 2005 onward.&nbsp; Areas I cover include: <\/p>\n<ul>\n<li>What are CTEs and Why Use Them? <\/li>\n<li>CTE Syntax <\/li>\n<li>Semicolon Requirements <\/li>\n<li>When Column Names Must Be Specified <\/li>\n<li>Execution Scope <\/li>\n<li>Multiple CTE Query Definitions <\/li>\n<li>Defining and Referencing Multiple CTEs <\/li>\n<li>Multiple References To the Same CTE <\/li>\n<li>CTEs with Data Modification Statements <\/li>\n<li>CTEs and Views <\/li>\n<li>CTEs and Stored Procedures <\/li>\n<li>CTEs and Triggers <\/li>\n<li>CTEs and User-Defined Functions <\/li>\n<li>Recursive CTE Examples<\/li>\n<li>Forward Referencing Restrictions <\/li>\n<li>ORDER BY restrictions <\/li>\n<li>INTO and CTE Restriction <\/li>\n<li>CTE Nesting Restriction <\/li>\n<li>OPTION Clause with Query Hints Restriction <\/li>\n<li>Max Recursion Limitation <\/li>\n<li>Late Filtering <\/li>\n<li>Non-Recursive Self-Join <\/li>\n<li>CTEs and Non-Deterministic Functions <\/li>\n<li>CTEs vs. Derived Table Code Clarity <\/li>\n<li>Windowing Functions, Predicates and CTEs <\/li>\n<li>Return Lineage Information <\/li>\n<li>Multiple Anchors <\/li>\n<li>Sequence Generation <\/li>\n<li>CTEs as Reference Table Replacements <\/li>\n<li>Windowing Functions and Data Modifications <\/li>\n<li>Referencing a Scalar Subselect in a Predicate<\/li>\n<\/ul>\n<p>Much more to come from the SQLskills team!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today Pluralsight published my new course, \u201cSQL Server: Transact-SQL Common Table Expressions\u201d. This is a demo-centric, short course on how to create and use common table expressions (CTEs) correctly, for developers and DBAs from SQL Server 2005 onward.&nbsp; Areas I cover include: What are CTEs and Why Use Them? CTE Syntax Semicolon Requirements When Column [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38,34],"tags":[],"class_list":["post-1162","post","type-post","status-publish","format-standard","hentry","category-sql-server-training","category-t-sql"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.9.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>New Course: &ldquo;SQL Server: Transact-SQL Common Table Expressions&rdquo; - Joe Sack<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqlskills.com\/blogs\/joe\/new-course-sql-server-transact-sql-common-table-expressions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"New Course: &ldquo;SQL Server: Transact-SQL Common Table Expressions&rdquo; - Joe Sack\" \/>\n<meta property=\"og:description\" content=\"Today Pluralsight published my new course, \u201cSQL Server: Transact-SQL Common Table Expressions\u201d. This is a demo-centric, short course on how to create and use common table expressions (CTEs) correctly, for developers and DBAs from SQL Server 2005 onward.&nbsp; Areas I cover include: What are CTEs and Why Use Them? CTE Syntax Semicolon Requirements When Column [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/joe\/new-course-sql-server-transact-sql-common-table-expressions\/\" \/>\n<meta property=\"og:site_name\" content=\"Joe Sack\" \/>\n<meta property=\"article:published_time\" content=\"2014-02-14T20:56:50+00:00\" \/>\n<meta name=\"author\" content=\"Joseph Sack\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joseph Sack\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/new-course-sql-server-transact-sql-common-table-expressions\/\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/new-course-sql-server-transact-sql-common-table-expressions\/\",\"name\":\"New Course: &ldquo;SQL Server: Transact-SQL Common Table Expressions&rdquo; - Joe Sack\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/#website\"},\"datePublished\":\"2014-02-14T20:56:50+00:00\",\"dateModified\":\"2014-02-14T20:56:50+00:00\",\"author\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/533eb0113a15fb5a6e8067a49e4ae648\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/new-course-sql-server-transact-sql-common-table-expressions\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqlskills.com\/blogs\/joe\/new-course-sql-server-transact-sql-common-table-expressions\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/new-course-sql-server-transact-sql-common-table-expressions\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Server Training\",\"item\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/category\/sql-server-training\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"New Course: &ldquo;SQL Server: Transact-SQL Common Table Expressions&rdquo;\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/#website\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/\",\"name\":\"Joe Sack\",\"description\":\"SQL Server Performance Tuning, High Availability and Disaster Recovery Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/533eb0113a15fb5a6e8067a49e4ae648\",\"name\":\"Joseph Sack\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a4b39a7719a6bfff1add3ec00527810734579ee114d6d983e8e68f937b77be96?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a4b39a7719a6bfff1add3ec00527810734579ee114d6d983e8e68f937b77be96?s=96&d=mm&r=g\",\"caption\":\"Joseph Sack\"},\"description\":\"Joe Sack is a Principal Consultant with SQLskills. He has worked as a SQL Server professional since 1997 and has supported and developed for SQL Server environments in financial services, IT consulting, manufacturing, retail and the real estate industry. Prior to joining SQLskills he worked at Microsoft as a Premier Field Engineer supporting very large enterprise customer environments. He was responsible for providing deep SQL Server advisory services, training, troubleshooting and ongoing solutions guidance. His areas of expertise include performance tuning, scalability, T-SQL development and high-availability. In 2006 Joe earned the \u201cMicrosoft Certified Master: SQL Server 2005\u201d certification and in 2008 he earned the \u201cMicrosoft Certified Master: SQL Server 2008\u201d certification. In 2009 he took over responsibility for the entire SQL Server Microsoft Certified Master program and held that post until 2011. He was given the SQL Server MVP award in 2013.\",\"sameAs\":[\"http:\/\/3.209.169.194\/blogs\/joe\",\"https:\/\/twitter.com\/https:\/\/twitter.com\/josephsack\"],\"url\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/author\/joe\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"New Course: &ldquo;SQL Server: Transact-SQL Common Table Expressions&rdquo; - Joe Sack","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqlskills.com\/blogs\/joe\/new-course-sql-server-transact-sql-common-table-expressions\/","og_locale":"en_US","og_type":"article","og_title":"New Course: &ldquo;SQL Server: Transact-SQL Common Table Expressions&rdquo; - Joe Sack","og_description":"Today Pluralsight published my new course, \u201cSQL Server: Transact-SQL Common Table Expressions\u201d. This is a demo-centric, short course on how to create and use common table expressions (CTEs) correctly, for developers and DBAs from SQL Server 2005 onward.&nbsp; Areas I cover include: What are CTEs and Why Use Them? CTE Syntax Semicolon Requirements When Column [&hellip;]","og_url":"https:\/\/www.sqlskills.com\/blogs\/joe\/new-course-sql-server-transact-sql-common-table-expressions\/","og_site_name":"Joe Sack","article_published_time":"2014-02-14T20:56:50+00:00","author":"Joseph Sack","twitter_misc":{"Written by":"Joseph Sack","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/new-course-sql-server-transact-sql-common-table-expressions\/","url":"https:\/\/www.sqlskills.com\/blogs\/joe\/new-course-sql-server-transact-sql-common-table-expressions\/","name":"New Course: &ldquo;SQL Server: Transact-SQL Common Table Expressions&rdquo; - Joe Sack","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/#website"},"datePublished":"2014-02-14T20:56:50+00:00","dateModified":"2014-02-14T20:56:50+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/533eb0113a15fb5a6e8067a49e4ae648"},"breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/new-course-sql-server-transact-sql-common-table-expressions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/joe\/new-course-sql-server-transact-sql-common-table-expressions\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/new-course-sql-server-transact-sql-common-table-expressions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/joe\/"},{"@type":"ListItem","position":2,"name":"SQL Server Training","item":"https:\/\/www.sqlskills.com\/blogs\/joe\/category\/sql-server-training\/"},{"@type":"ListItem","position":3,"name":"New Course: &ldquo;SQL Server: Transact-SQL Common Table Expressions&rdquo;"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/joe\/","name":"Joe Sack","description":"SQL Server Performance Tuning, High Availability and Disaster Recovery Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/joe\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/533eb0113a15fb5a6e8067a49e4ae648","name":"Joseph Sack","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a4b39a7719a6bfff1add3ec00527810734579ee114d6d983e8e68f937b77be96?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a4b39a7719a6bfff1add3ec00527810734579ee114d6d983e8e68f937b77be96?s=96&d=mm&r=g","caption":"Joseph Sack"},"description":"Joe Sack is a Principal Consultant with SQLskills. He has worked as a SQL Server professional since 1997 and has supported and developed for SQL Server environments in financial services, IT consulting, manufacturing, retail and the real estate industry. Prior to joining SQLskills he worked at Microsoft as a Premier Field Engineer supporting very large enterprise customer environments. He was responsible for providing deep SQL Server advisory services, training, troubleshooting and ongoing solutions guidance. His areas of expertise include performance tuning, scalability, T-SQL development and high-availability. In 2006 Joe earned the \u201cMicrosoft Certified Master: SQL Server 2005\u201d certification and in 2008 he earned the \u201cMicrosoft Certified Master: SQL Server 2008\u201d certification. In 2009 he took over responsibility for the entire SQL Server Microsoft Certified Master program and held that post until 2011. He was given the SQL Server MVP award in 2013.","sameAs":["http:\/\/3.209.169.194\/blogs\/joe","https:\/\/twitter.com\/https:\/\/twitter.com\/josephsack"],"url":"https:\/\/www.sqlskills.com\/blogs\/joe\/author\/joe\/"}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/posts\/1162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/comments?post=1162"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/posts\/1162\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/media?parent=1162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/categories?post=1162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/tags?post=1162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}