title
Intermediate SQL Tutorial | Inner/Outer Joins | Use Cases

description
Take my Full MySQL Course Here: https://bit.ly/3tqOipr In today's Intermediate SQL lesson we walk through Joins. Joins allow us to combine several tables, choose columns from each table, and use them in a single output. All Topics Covered: Joins, Unions, Case Statements, Updating/Deleting Data, Partition By, Data Types, Aliasing, Views, Having Clause, GetDate(), Primary vs Foreign Key ____________________________________________ LINKS Joins image: https://www.got-it.ai/solutions/sqlquerychat/sql-help/data-query/how-to-join-tables-in-sql-querychat/ ____________________________________________ SUBSCRIBE! Do you want to become a Data Analyst? That's what this channel is all about! My goal is to help you learn everything you need in order to start your career or even switch your career into Data Analytics. Be sure to subscribe to not miss out on any content! ____________________________________________ RESOURCES: Coursera Courses: Google Data Analyst Certification: https://coursera.pxf.io/5bBd62 Data Analysis with Python - https://coursera.pxf.io/BXY3Wy IBM Data Analysis Specialization - https://coursera.pxf.io/AoYOdR Tableau Data Visualization - https://coursera.pxf.io/MXYqaN Udemy Courses: Python for Data Analysis and Visualization- https://bit.ly/3hhX4LX Statistics for Data Science - https://bit.ly/37jqDbq SQL for Data Analysts (SSMS) - https://bit.ly/3fkqEij Tableau A-Z - http://bit.ly/385lYvN *Please note I may earn a small commission for any purchase through these links - Thanks for supporting the channel!* ____________________________________________ Websites: GitHub: https://github.com/AlexTheAnalyst ____________________________________________ *All opinions or statements in this video are my own and do not reflect the opinion of the company I work for or have ever worked for*

detail
{'title': 'Intermediate SQL Tutorial | Inner/Outer Joins | Use Cases', 'heatmap': [{'end': 120.37, 'start': 74.737, 'weight': 0.77}, {'end': 268.099, 'start': 228.561, 'weight': 0.901}, {'end': 373.168, 'start': 322.539, 'weight': 0.703}, {'end': 610.227, 'start': 552.076, 'weight': 0.713}, {'end': 688.225, 'start': 666.261, 'weight': 0.734}, {'end': 918.6, 'start': 904.004, 'weight': 0.729}], 'summary': 'An intermediate sql series covers joins, unions, case statements, data manipulation, and advanced concepts to elevate sql skills. it includes demonstrations of sql inner and outer joins, analyzing employee data, and examples of retrieving specific data.', 'chapters': [{'end': 59.129, 'segs': [{'end': 59.129, 'src': 'embed', 'start': 15.759, 'weight': 0, 'content': [{'end': 22.043, 'text': "Now, today we're going to be walking through joins, but let me show you what you can expect from the entire series for this intermediate course.", 'start': 15.759, 'duration': 6.284}, {'end': 26.744, 'text': "So we're gonna be walking through joins today and then in future videos.", 'start': 23.581, 'duration': 3.163}, {'end': 28.426, 'text': "we're gonna be walking through unions.", 'start': 26.744, 'duration': 1.682}, {'end': 38.137, 'text': 'case statements updating and deleting data, partition by data types, aliasing, creating views, having versus the group by statement,', 'start': 28.426, 'duration': 9.711}, {'end': 41.58, 'text': 'the get date function, primary key versus foreign key.', 'start': 38.137, 'duration': 3.443}, {'end': 44.041, 'text': "And then we're going to have an advanced course.", 'start': 42.34, 'duration': 1.701}, {'end': 49.044, 'text': 'And this is not set in stone yet, but these are some of the things that I think I will be going through or walking through.', 'start': 44.081, 'duration': 4.963}, {'end': 59.129, 'text': "We're going through CTEs, sys tables or system tables, subqueries, temp tables, string functions, regular expression,", 'start': 49.584, 'duration': 9.545}], 'summary': 'Intermediate course covers joins, unions, case statements, data types, views, functions, with advanced topics like ctes and subqueries.', 'duration': 43.37, 'max_score': 15.759, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9URM1_2S0ho/pics/9URM1_2S0ho15759.jpg'}], 'start': 0.409, 'title': 'Intermediate sql series', 'summary': 'Introduces an intermediate sql series covering joins, unions, case statements, data manipulation, data types, and advanced concepts, aimed at elevating sql skills.', 'chapters': [{'end': 59.129, 'start': 0.409, 'title': 'Intermediate sql series overview', 'summary': 'Introduces an intermediate sql series covering various topics including joins, unions, case statements, data manipulation, data types, and advanced concepts, aimed at elevating sql skills.', 'duration': 58.72, 'highlights': ['The series covers topics such as joins, unions, case statements, data manipulation, data types, and advanced concepts to elevate SQL skills.', 'The chapter outlines the specific topics to be covered in the intermediate course, including unions, case statements, updating and deleting data, partition by data types, aliasing, creating views, and more.', 'The series will also include advanced topics such as common table expressions (CTEs), sys tables, subqueries, temp tables, string functions, and regular expressions.']}], 'duration': 58.72, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9URM1_2S0ho/pics/9URM1_2S0ho409.jpg', 'highlights': ['The series covers topics such as joins, unions, case statements, data manipulation, data types, and advanced concepts to elevate SQL skills.', 'The chapter outlines the specific topics to be covered in the intermediate course, including unions, case statements, updating and deleting data, partition by data types, aliasing, creating views, and more.', 'The series will also include advanced topics such as common table expressions (CTEs), sys tables, subqueries, temp tables, string functions, and regular expressions.']}, {'end': 362.982, 'segs': [{'end': 105.981, 'src': 'embed', 'start': 74.737, 'weight': 0, 'content': [{'end': 77.558, 'text': 'We have a few different styles or a few different types of outer joins.', 'start': 74.737, 'duration': 2.821}, {'end': 84.622, 'text': 'Now, a join is a way to combine multiple tables into a single output.', 'start': 78.519, 'duration': 6.103}, {'end': 89.837, 'text': "For now, we're gonna be using the employee demographics and the employee salary table.", 'start': 85.816, 'duration': 4.021}, {'end': 94.718, 'text': "So let's get a look at both of these tables and see what's in them.", 'start': 90.437, 'duration': 4.281}, {'end': 100.239, 'text': 'In our employee demographics table, we have employee ID, first name, last name, age, and gender.', 'start': 95.378, 'duration': 4.861}, {'end': 105.981, 'text': 'And then down here in our employee salary table, we have employee ID, job title, and salary.', 'start': 100.88, 'duration': 5.101}], 'summary': 'The transcript discusses different types of outer joins and the employee demographics and salary tables.', 'duration': 31.244, 'max_score': 74.737, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9URM1_2S0ho/pics/9URM1_2S0ho74737.jpg'}, {'end': 120.37, 'src': 'heatmap', 'start': 74.737, 'weight': 0.77, 'content': [{'end': 77.558, 'text': 'We have a few different styles or a few different types of outer joins.', 'start': 74.737, 'duration': 2.821}, {'end': 84.622, 'text': 'Now, a join is a way to combine multiple tables into a single output.', 'start': 78.519, 'duration': 6.103}, {'end': 89.837, 'text': "For now, we're gonna be using the employee demographics and the employee salary table.", 'start': 85.816, 'duration': 4.021}, {'end': 94.718, 'text': "So let's get a look at both of these tables and see what's in them.", 'start': 90.437, 'duration': 4.281}, {'end': 100.239, 'text': 'In our employee demographics table, we have employee ID, first name, last name, age, and gender.', 'start': 95.378, 'duration': 4.861}, {'end': 105.981, 'text': 'And then down here in our employee salary table, we have employee ID, job title, and salary.', 'start': 100.88, 'duration': 5.101}, {'end': 112.605, 'text': "if you notice, they have a similar column and that's going to be the employee id.", 'start': 106.881, 'duration': 5.724}, {'end': 120.37, 'text': "now, when you're doing a join, you have to do this based off a similar column and typically you want it to be a unique field.", 'start': 112.605, 'duration': 7.765}], 'summary': 'The training covers different types of outer joins using employee demographics and salary tables.', 'duration': 45.633, 'max_score': 74.737, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9URM1_2S0ho/pics/9URM1_2S0ho74737.jpg'}, {'end': 191.026, 'src': 'embed', 'start': 151.552, 'weight': 1, 'content': [{'end': 157.374, 'text': 'We can also say inner join but join by default is gonna say inner.', 'start': 151.552, 'duration': 5.822}, {'end': 164.978, 'text': "and we're gonna do SQL tutorial dot DBO dot employee salary.", 'start': 158.874, 'duration': 6.104}, {'end': 171.842, 'text': "Now we have to join them together, which is what we talked about earlier, and we're gonna be doing that based off the employee ID.", 'start': 166.619, 'duration': 5.223}, {'end': 191.026, 'text': "So for that we have to say on, and then we're gonna say employee demographics dot employee ID is equal to employee salary dot employee ID.", 'start': 172.442, 'duration': 18.584}], 'summary': 'Joining employee data from sql tutorial dbo based on employee id.', 'duration': 39.474, 'max_score': 151.552, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9URM1_2S0ho/pics/9URM1_2S0ho151552.jpg'}, {'end': 268.099, 'src': 'heatmap', 'start': 228.561, 'weight': 0.901, 'content': [{'end': 231.442, 'text': "Real quick, let's go down to this graphic and let's look at this inner join.", 'start': 228.561, 'duration': 2.881}, {'end': 239.739, 'text': 'An inner join is gonna show everything that is common or overlapping between table A and table B.', 'start': 232.597, 'duration': 7.142}, {'end': 242.12, 'text': 'So what we are looking at here is exactly that.', 'start': 239.739, 'duration': 2.381}, {'end': 248.021, 'text': "We're only looking at the things that are similar based off this employee ID in both tables.", 'start': 242.58, 'duration': 5.441}, {'end': 254.443, 'text': "Now let's change this join to a full outer join.", 'start': 248.721, 'duration': 5.722}, {'end': 259.024, 'text': "And let's run this and see what we get.", 'start': 255.703, 'duration': 3.321}, {'end': 264.235, 'text': 'Now if you notice, the output is very different.', 'start': 261.192, 'duration': 3.043}, {'end': 268.099, 'text': "So let's take a look at it and see why it's so different.", 'start': 265.036, 'duration': 3.063}], 'summary': 'Comparison of inner join and full outer join using employee id to find common and different data.', 'duration': 39.538, 'max_score': 228.561, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9URM1_2S0ho/pics/9URM1_2S0ho228561.jpg'}, {'end': 327.723, 'src': 'embed', 'start': 300.118, 'weight': 2, 'content': [{'end': 305.68, 'text': 'So because of that, it fills in everything as null because it has nothing to match on this table.', 'start': 300.118, 'duration': 5.562}, {'end': 307.702, 'text': 'And vice versa.', 'start': 306.32, 'duration': 1.382}, {'end': 314.41, 'text': "in the employee salary table there's a person in here that's a salesman and there's no employee ID at all,", 'start': 307.702, 'duration': 6.708}, {'end': 316.512, 'text': 'which means all this information is gonna be null.', 'start': 314.41, 'duration': 2.102}, {'end': 319.135, 'text': 'And we can see that in this diagram right here.', 'start': 317.253, 'duration': 1.882}, {'end': 321.759, 'text': 'So this is the full outer join right here.', 'start': 319.716, 'duration': 2.043}, {'end': 327.723, 'text': 'And what it is saying is we are going to show everything from table A and table B,', 'start': 322.539, 'duration': 5.184}], 'summary': 'Null values in full outer join for table a and table b.', 'duration': 27.605, 'max_score': 300.118, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9URM1_2S0ho/pics/9URM1_2S0ho300118.jpg'}], 'start': 59.129, 'title': 'Sql joins and data manipulation', 'summary': 'Covers sql inner and outer joins, demonstrating the combination of employee tables, performing an inner join between employee demographics and salary based on employee id, and explaining the concept of sql joins, including inner join, full outer join, and left outer join, with examples of employee data.', 'chapters': [{'end': 120.37, 'start': 59.129, 'title': 'Sql join operations and data manipulation', 'summary': 'Covers inner and outer joins, emphasizing the combination of multiple tables into a single output, utilizing employee demographics and salary tables for demonstration.', 'duration': 61.241, 'highlights': ['A join is a way to combine multiple tables into a single output. Explains the purpose of joins and emphasizes their role in combining tables for a unified output.', 'Demonstration using employee demographics and salary tables for join operations. Specifically mentions the usage of employee demographics and salary tables for demonstrating the join operations.', 'Description of the columns in the employee demographics and salary tables. Provides details about the specific columns present in the employee demographics and salary tables.']}, {'end': 191.026, 'start': 120.37, 'title': 'Joining employee tables for output', 'summary': 'Covers joining employee tables using sql to create one output, performing an inner join between employee demographics and employee salary based on employee id.', 'duration': 70.656, 'highlights': ['Performing an inner join between employee demographics and employee salary based on employee ID. Inner join used to merge tables, joining based on employee ID.', 'Using the employee ID from both tables to join and create one output. Utilizing employee ID from both tables to merge and generate a unified output.']}, {'end': 362.982, 'start': 191.026, 'title': 'Understanding sql joins', 'summary': 'Explains the concept of sql joins, covering inner join, full outer join, and left outer join, highlighting their differences and use cases with examples of employee data.', 'duration': 171.956, 'highlights': ['A full outer join shows everything from both tables, regardless of if it has a match based on the joining key, resulting in null values for non-matching records. It points out that a full outer join displays all records from both tables, filling in null values for non-matching records, as demonstrated in the example of employee data.', 'An inner join only shows the common or overlapping data between two tables based on the joining key, excluding non-matching records. It emphasizes that an inner join displays only the matching data based on the joining key, excluding non-matching records, as illustrated in the context of employee data.', 'A left outer join includes all records from the left table and the overlapping records from the right table, excluding non-matching records from the right table. It explains that a left outer join includes all records from the left table and the overlapping records from the right table, but excludes non-matching records from the right table, as described in the scenario of employee data.']}], 'duration': 303.853, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9URM1_2S0ho/pics/9URM1_2S0ho59129.jpg', 'highlights': ['A join is a way to combine multiple tables into a single output. Explains the purpose of joins and emphasizes their role in combining tables for a unified output.', 'Performing an inner join between employee demographics and employee salary based on employee ID. Inner join used to merge tables, joining based on employee ID.', 'A full outer join shows everything from both tables, regardless of if it has a match based on the joining key, resulting in null values for non-matching records.']}, {'end': 951.741, 'segs': [{'end': 400.35, 'src': 'embed', 'start': 378.431, 'weight': 3, 'content': [{'end': 390.422, 'text': "And down here we have three that have information in the employee demographics table but have absolutely no information in any of the employee salary table because there's nothing to match it on.", 'start': 378.431, 'duration': 11.991}, {'end': 398.349, 'text': 'So this 1,011 is not in this table, this 1,013 is not in this table, and this one does not even have an employee ID.', 'start': 391.002, 'duration': 7.347}, {'end': 400.35, 'text': "So we're not gonna have a match at all.", 'start': 398.749, 'duration': 1.601}], 'summary': 'Three employees have no salary information, leading to unmatched data.', 'duration': 21.919, 'max_score': 378.431, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9URM1_2S0ho/pics/9URM1_2S0ho378431.jpg'}, {'end': 448.33, 'src': 'embed', 'start': 420.33, 'weight': 0, 'content': [{'end': 427.013, 'text': "and obviously there's not gonna be anything associated with that because there's no 1,010 in the employee demographics table.", 'start': 420.33, 'duration': 6.683}, {'end': 435.139, 'text': "And for this one we have a salesman with no employee ID, And since there's no employee ID to tie it to this demographics table,", 'start': 427.713, 'duration': 7.426}, {'end': 435.999, 'text': "we're gonna have nothing.", 'start': 435.139, 'duration': 0.86}, {'end': 438.362, 'text': 'And we can see that in the diagram right here.', 'start': 436.6, 'duration': 1.762}, {'end': 443.646, 'text': "So for the left outer join, we're looking at everything in table A, which is our demographics table.", 'start': 439.082, 'duration': 4.564}, {'end': 448.33, 'text': "And in our right outer join, we're looking at everything at table B, which is our salary table.", 'start': 444.387, 'duration': 3.943}], 'summary': 'Left outer join shows everything in demographics table, right outer join shows everything in salary table.', 'duration': 28, 'max_score': 420.33, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9URM1_2S0ho/pics/9URM1_2S0ho420330.jpg'}, {'end': 610.227, 'src': 'heatmap', 'start': 552.076, 'weight': 0.713, 'content': [{'end': 556.319, 'text': "But now let's try a right outer join.", 'start': 552.076, 'duration': 4.243}, {'end': 557.5, 'text': "And let's run this.", 'start': 556.899, 'duration': 0.601}, {'end': 564.938, 'text': "Now we're using this employee ID from our employee salary table and since we're doing a write outer join,", 'start': 558.692, 'duration': 6.246}, {'end': 570.843, 'text': "we're going to get all the information from our employee salary table and it does not have to be in our left table,", 'start': 564.938, 'duration': 5.905}, {'end': 572.805, 'text': 'which is our employee demographics table.', 'start': 570.843, 'duration': 1.962}, {'end': 579.311, 'text': 'So, if you look at the information down here, this 110 is in the employee salary table,', 'start': 573.406, 'duration': 5.905}, {'end': 582.994, 'text': "but it's in this position because that's what we're looking at in our select statement.", 'start': 579.311, 'duration': 3.683}, {'end': 585.698, 'text': 'And then over here, we have our salary.', 'start': 583.795, 'duration': 1.903}, {'end': 593.908, 'text': 'And since we have information right here, which is in our employee salary table, but there is no employee ID, our employee ID is null.', 'start': 586.338, 'duration': 7.57}, {'end': 600.297, 'text': "Now let's change this to look at the employee demographics employee ID and execute it.", 'start': 594.71, 'duration': 5.587}, {'end': 602.98, 'text': 'As you can see, that 110 is gone.', 'start': 601.318, 'duration': 1.662}, {'end': 610.227, 'text': "Now we just have this information right down here and we didn't have the employee ID for either of these.", 'start': 603.741, 'duration': 6.486}], 'summary': 'Demonstrating right outer join with employee data, identifying missing employee ids.', 'duration': 58.151, 'max_score': 552.076, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9URM1_2S0ho/pics/9URM1_2S0ho552076.jpg'}, {'end': 696.531, 'src': 'heatmap', 'start': 666.261, 'weight': 0.734, 'content': [{'end': 673.448, 'text': "we are still gonna see our names, but since we're using the employee ID from our right table now,", 'start': 666.261, 'duration': 7.187}, {'end': 676.811, 'text': "we're just gonna have blanks in this information and this information.", 'start': 673.448, 'duration': 3.363}, {'end': 680.361, 'text': "Now let's look at a use case for these joins.", 'start': 677.819, 'duration': 2.542}, {'end': 688.225, 'text': "Let's say Robert California is pressuring Michael Scott to meet his quarterly quota and Michael Scott is almost there.", 'start': 681.141, 'duration': 7.084}, {'end': 696.531, 'text': 'He needs like a thousand more dollars and he comes up with the genius idea to deduct pay from the highest paid employee at his branch besides himself.', 'start': 688.266, 'duration': 8.265}], 'summary': 'Using employee id for joins, michael needs $1000 more to meet quota.', 'duration': 30.27, 'max_score': 666.261, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9URM1_2S0ho/pics/9URM1_2S0ho666261.jpg'}, {'end': 726.271, 'src': 'embed', 'start': 697.151, 'weight': 1, 'content': [{'end': 704.455, 'text': "So how does he go about doing this and identifying the person that makes the most money? Well, of course, he's gonna come to SQL first.", 'start': 697.151, 'duration': 7.304}, {'end': 711.459, 'text': 'So we actually want to look at a full outer join real quick.', 'start': 705.076, 'duration': 6.383}, {'end': 715.3, 'text': "And let's just look at everything.", 'start': 712.819, 'duration': 2.481}, {'end': 718.062, 'text': "So here's what we have.", 'start': 716.961, 'duration': 1.101}, {'end': 726.271, 'text': 'We have the employee ID, first name, last name, age, gender, employee ID, job, title, and salary.', 'start': 719.286, 'duration': 6.985}], 'summary': 'Analyzing employee data using sql to identify highest earner.', 'duration': 29.12, 'max_score': 697.151, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9URM1_2S0ho/pics/9URM1_2S0ho697151.jpg'}, {'end': 918.6, 'src': 'heatmap', 'start': 872.045, 'weight': 2, 'content': [{'end': 879.851, 'text': 'And now we only want to look at where the job title is equal to salesman.', 'start': 872.045, 'duration': 7.806}, {'end': 889.978, 'text': 'Now the very last thing we wanna do is we want to say we want the average of salary.', 'start': 883.095, 'duration': 6.883}, {'end': 893.619, 'text': "Now, since we're gonna need to do a group by,", 'start': 890.858, 'duration': 2.761}, {'end': 903.983, 'text': "we're gonna have to get rid of this salary and just take job title right down here and do group by job title.", 'start': 893.619, 'duration': 10.364}, {'end': 907.425, 'text': "So we're gonna have job title and then the average salary.", 'start': 904.004, 'duration': 3.421}, {'end': 914.257, 'text': 'And there you go, we have the salesman and the average salary is 52,000.', 'start': 909.315, 'duration': 4.942}, {'end': 918.6, 'text': 'So Angela now knows to go back and fix what Kevin made a mistake on.', 'start': 914.258, 'duration': 4.342}], 'summary': 'Filtered job title=salesman, avg. salary=52,000, prompting corrective action.', 'duration': 35.38, 'max_score': 872.045, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9URM1_2S0ho/pics/9URM1_2S0ho872045.jpg'}], 'start': 363.462, 'title': 'Analyzing employee data', 'summary': 'Explains how to analyze employee demographics and salary tables, identifying unmatched records and data availability impact. it also covers sql joins, including inner, right outer, left outer, and full outer joins, with examples of retrieving specific data.', 'chapters': [{'end': 438.362, 'start': 363.462, 'title': 'Employee demographics and salary comparison', 'summary': 'Explains how to analyze the employee demographics and salary tables, indicating the presence of unmatched records and the impact on data availability.', 'duration': 74.9, 'highlights': ['The chapter discusses the comparison of employee demographics and salary tables, revealing three records in the employee demographics table that have no matching entries in the employee salary table.', 'It highlights the process of displaying all information from the employee salary table, including instances where there are no matches in the employee demographics table, resulting in null values.', 'The explanation includes specific examples, such as the presence of record 1,010 in the employee salary table with no corresponding entry in the employee demographics table, leading to a lack of associated information.', 'The chapter provides a visualization, demonstrating the disparity between the tables and the resulting data availability.']}, {'end': 951.741, 'start': 439.082, 'title': 'Sql joins explained', 'summary': 'Explains the concept of sql joins, including inner, right outer, left outer, and full outer joins, with examples of how to use them to retrieve specific data, such as identifying the highest paid employee and calculating the average salary for a specific job title.', 'duration': 512.659, 'highlights': ['The chapter explains the concept of SQL joins, including inner, right outer, left outer, and full outer joins. It provides an overview of the different types of SQL joins, offering a comprehensive understanding of their functionality.', 'Example of identifying the highest paid employee using an inner join and filtering out specific names. Demonstrates the process of using an inner join to identify the highest paid employee, excluding a specific name, and ordering the results by salary in descending order.', 'Example of calculating the average salary for a specific job title using a group by clause. Illustrates the use of a group by clause to calculate the average salary for a specific job title, providing a practical example of data aggregation in SQL.']}], 'duration': 588.279, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9URM1_2S0ho/pics/9URM1_2S0ho363462.jpg', 'highlights': ['The chapter provides a visualization, demonstrating the disparity between the tables and the resulting data availability.', 'Example of identifying the highest paid employee using an inner join and filtering out specific names.', 'Example of calculating the average salary for a specific job title using a group by clause.', 'The chapter discusses the comparison of employee demographics and salary tables, revealing three records in the employee demographics table that have no matching entries in the employee salary table.', 'The chapter explains the concept of SQL joins, including inner, right outer, left outer, and full outer joins. It provides an overview of the different types of SQL joins, offering a comprehensive understanding of their functionality.']}], 'highlights': ['The series covers topics such as joins, unions, case statements, data manipulation, data types, and advanced concepts to elevate SQL skills.', 'A join is a way to combine multiple tables into a single output. Explains the purpose of joins and emphasizes their role in combining tables for a unified output.', 'The chapter provides a visualization, demonstrating the disparity between the tables and the resulting data availability.', 'The chapter outlines the specific topics to be covered in the intermediate course, including unions, case statements, updating and deleting data, partition by data types, aliasing, creating views, and more.', 'Performing an inner join between employee demographics and employee salary based on employee ID. Inner join used to merge tables, joining based on employee ID.', 'The series will also include advanced topics such as common table expressions (CTEs), sys tables, subqueries, temp tables, string functions, and regular expressions.', 'Example of identifying the highest paid employee using an inner join and filtering out specific names.', 'Example of calculating the average salary for a specific job title using a group by clause.', 'The chapter discusses the comparison of employee demographics and salary tables, revealing three records in the employee demographics table that have no matching entries in the employee salary table.', 'The chapter explains the concept of SQL joins, including inner, right outer, left outer, and full outer joins. It provides an overview of the different types of SQL joins, offering a comprehensive understanding of their functionality.', 'A full outer join shows everything from both tables, regardless of if it has a match based on the joining key, resulting in null values for non-matching records.']}