title
C# Tutorial 15 LINQ Tutorial

description
Get the Code Here : https://goo.gl/t1EBdP Best C# Book : http://amzn.to/2iMArkU Support me on Patreon : https://www.patreon.com/derekbanas In this video I'll cover LINQ. Language Integrated Query (LINQ) provides many tools for working with data. LINQ is similar to SQL, but it can work with data aside from databases. I'll cover From, Where, Orderby, Select, In, Inner Joins, Group Inner Join, Equals and using LINQ with multiple different collections. For best results take notes on the cheat sheet provided above as you watch and leave any questions you have. Thank you to Patreon supporters like the following for helping me make this video facebook.com/cottageindustriesbuild/ jaryd remillard : instagram: @distant_admiration bugreplay.com @kyleaisho @thetwistedhat vjFaLk jaryd remillard : https://github.com/YearOfProgramming/2017Challenges

detail
{'title': 'C# Tutorial 15 LINQ Tutorial', 'heatmap': [{'end': 497.718, 'start': 480.935, 'weight': 1}], 'summary': 'Tutorial extensively covers linq queries, array querying, and data manipulation, showcasing operations like where, order by, select, inner joins, group joins, filtering, and working with enumerable and collection. it also demonstrates inner join queries and group join to associate owners with specific animals, providing a comprehensive understanding of linq in c#.', 'chapters': [{'end': 246.74, 'segs': [{'end': 27.208, 'src': 'embed', 'start': 0.592, 'weight': 0, 'content': [{'end': 5.114, 'text': 'well, hello internet and welcome to part 15 of my C sharp video tutorial.', 'start': 0.592, 'duration': 4.522}, {'end': 8.896, 'text': "in this part of the tutorial we're gonna focus in completely on link now.", 'start': 5.114, 'duration': 3.782}, {'end': 14.598, 'text': "I've covered link methods in the past, but this time I'm going to cover link queries and more specifically,", 'start': 8.896, 'duration': 5.702}, {'end': 20.702, 'text': "I'm gonna cover from where order by select Protect enumerables, inner joins as well as group joins.", 'start': 14.598, 'duration': 6.104}, {'end': 27.208, 'text': "Now, those are pretty vast topics and I'm going to just provide a whole bunch of examples of how to use them and, like always, all the code,", 'start': 20.782, 'duration': 6.426}], 'summary': 'C# tutorial part 15 focuses on linq queries covering where, order by, select, inner joins, group joins.', 'duration': 26.616, 'max_score': 0.592, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo592.jpg'}, {'end': 78.438, 'src': 'embed', 'start': 39.302, 'weight': 2, 'content': [{'end': 41.725, 'text': "There's your beloved animal class that everybody likes.", 'start': 39.302, 'duration': 2.423}, {'end': 46.309, 'text': 'And it just has a name, weight, height, and animal ID property inside of it.', 'start': 41.785, 'duration': 4.524}, {'end': 51.173, 'text': 'And you could pause the screen or, like I said, get the code below and then just copy and paste it.', 'start': 46.569, 'duration': 4.604}, {'end': 53.115, 'text': 'And here is a constructor for it.', 'start': 51.454, 'duration': 1.661}, {'end': 55.958, 'text': 'And here is the toString method.', 'start': 53.716, 'duration': 2.242}, {'end': 63.561, 'text': 'And all it is going to do is take the different properties available in this animal class and allow me to print them out like a string.', 'start': 56.098, 'duration': 7.463}, {'end': 65.562, 'text': 'Okay, so pretty simple stuff.', 'start': 63.761, 'duration': 1.801}, {'end': 68.043, 'text': "Didn't want to waste time on that so I could focus on link.", 'start': 65.582, 'duration': 2.461}, {'end': 75.917, 'text': 'Also, I created an owner class and it just has a string name property and an owner ID property.', 'start': 68.812, 'duration': 7.105}, {'end': 78.438, 'text': 'So that is all that I created ahead of time.', 'start': 76.057, 'duration': 2.381}], 'summary': 'Created animal and owner classes with specific properties and methods.', 'duration': 39.136, 'max_score': 39.302, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo39302.jpg'}, {'end': 159.849, 'src': 'embed', 'start': 135.052, 'weight': 1, 'content': [{'end': 142.337, 'text': 'So what I want to do here with this query is I want to get strings with spaces inside of them and then put them in alphabetical order.', 'start': 135.052, 'duration': 7.285}, {'end': 146.339, 'text': 'So a pretty simple way of messing around with this array.', 'start': 142.377, 'duration': 3.962}, {'end': 151.743, 'text': "So we are going to create this little query, and I'm just going to call this dog spaces.", 'start': 146.62, 'duration': 5.123}, {'end': 153.164, 'text': 'And from..', 'start': 152.363, 'duration': 0.801}, {'end': 159.849, 'text': 'is a link command and it is just designating where this information is going to be coming from.', 'start': 153.904, 'duration': 5.945}], 'summary': 'Query to alphabetically order strings with spaces inside.', 'duration': 24.797, 'max_score': 135.052, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo135052.jpg'}, {'end': 256.425, 'src': 'embed', 'start': 224.123, 'weight': 4, 'content': [{'end': 230.909, 'text': 'Basically, LINQ, which stands for Language Integrated Query, is going to provide many tools for working with data.', 'start': 224.123, 'duration': 6.786}, {'end': 236.513, 'text': 'Now, LINQ is similar to SQL, but it can work with data aside from databases.', 'start': 231.109, 'duration': 5.404}, {'end': 241.758, 'text': "And just like SQL, you're going to manipulate this data using what are called query expressions.", 'start': 237.054, 'duration': 4.704}, {'end': 244.26, 'text': 'Okay, so I got my information here.', 'start': 242.218, 'duration': 2.042}, {'end': 246.74, 'text': 'So what I want to do is just cycle through it.', 'start': 244.639, 'duration': 2.101}, {'end': 256.425, 'text': "So I'm going to say for each var I in dog spaces, I know that's a horrible name, but it's just what's coming into my head as I'm typing this.", 'start': 246.78, 'duration': 9.645}], 'summary': 'Linq provides tools for working with data similar to sql, but can work with data aside from databases and manipulate data using query expressions.', 'duration': 32.302, 'max_score': 224.123, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo224123.jpg'}], 'start': 0.592, 'title': 'Exploring linq and array querying', 'summary': "Extensively covers linq queries, demonstrating where, order by, select, protect enumerables, inner joins, and group joins. it also details the process of creating and querying arrays in a program, showcasing linq's capabilities for data manipulation.", 'chapters': [{'end': 78.438, 'start': 0.592, 'title': 'C# tutorial part 15: exploring linq', 'summary': 'Focuses on extensively covering linq queries, including where, order by, select, protect enumerables, inner joins, and group joins, with examples provided. the tutorial includes the creation of an animal class and an owner class for demonstration purposes.', 'duration': 77.846, 'highlights': ['The chapter extensively covers LINQ queries, including where, order by, select, Protect enumerables, inner joins, and group joins, with a focus on providing a multitude of examples.', 'The tutorial includes the creation of an animal class with properties such as name, weight, height, and animal ID, as well as a constructor and a toString method for printing out the properties.', 'The creation of an owner class with a string name property and an owner ID property is demonstrated as part of the tutorial.']}, {'end': 246.74, 'start': 78.539, 'title': 'Creating and querying arrays in programs', 'summary': 'Details the process of creating and querying arrays in a program, demonstrating the use of linq to manipulate data, including sorting strings with spaces in alphabetical order and providing a brief overview of linq and its capabilities.', 'duration': 168.201, 'highlights': ['The chapter demonstrates the process of creating and querying arrays in a program, including manipulating a string array to sort strings with spaces in alphabetical order. The chapter details the process of creating and querying arrays in a program, demonstrating the use of LINQ to manipulate data, including sorting strings with spaces in alphabetical order.', 'The speaker provides an overview of LINQ, explaining its similarity to SQL and its ability to work with data aside from databases. The chapter provides a brief overview of LINQ, explaining its similarity to SQL and its ability to work with data aside from databases.', 'The speaker mentions LINQ as an acronym for Language Integrated Query and its capability to provide tools for working with data. The chapter briefly mentions LINQ as an acronym for Language Integrated Query and its capability to provide tools for working with data.']}], 'duration': 246.148, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo592.jpg', 'highlights': ['The chapter extensively covers LINQ queries, including where, order by, select, Protect enumerables, inner joins, and group joins, with a focus on providing a multitude of examples.', 'The chapter demonstrates the process of creating and querying arrays in a program, including manipulating a string array to sort strings with spaces in alphabetical order.', 'The tutorial includes the creation of an animal class with properties such as name, weight, height, and animal ID, as well as a constructor and a toString method for printing out the properties.', 'The creation of an owner class with a string name property and an owner ID property is demonstrated as part of the tutorial.', 'The speaker provides an overview of LINQ, explaining its similarity to SQL and its ability to work with data aside from databases.', 'The speaker mentions LINQ as an acronym for Language Integrated Query and its capability to provide tools for working with data.']}, {'end': 576.309, 'segs': [{'end': 339.082, 'src': 'embed', 'start': 272.045, 'weight': 0, 'content': [{'end': 279.109, 'text': 'And you can see right there. it went in and only grabbed dog names that have spaces inside of them and then it put them in reverse alphabetical order.', 'start': 272.045, 'duration': 7.064}, {'end': 280.79, 'text': "So let's go in here and do another one.", 'start': 279.369, 'duration': 1.421}, {'end': 286.253, 'text': "So I'm going to create a, what I'm going to cycle through this time is an integer array.", 'start': 281.15, 'duration': 5.103}, {'end': 289.234, 'text': "So I'm going to create another method inside of here.", 'start': 286.453, 'duration': 2.781}, {'end': 290.535, 'text': "I'm going to call this static.", 'start': 289.274, 'duration': 1.261}, {'end': 298.086, 'text': "It's going to return an integer array, and I'm going to call it query int array.", 'start': 290.842, 'duration': 7.244}, {'end': 299.767, 'text': 'So pretty simple stuff.', 'start': 298.366, 'duration': 1.401}, {'end': 303.088, 'text': 'Just want to show you how to perform queries on different types of data.', 'start': 299.827, 'duration': 3.261}, {'end': 307.43, 'text': "And I'm going to come up here, and I'm going to call for it to execute.", 'start': 303.468, 'duration': 3.962}, {'end': 310.432, 'text': 'So query integer array, right like that.', 'start': 307.45, 'duration': 2.982}, {'end': 314.454, 'text': "Okay, so let's come back down inside of here, and let's play around with this guy.", 'start': 310.852, 'duration': 3.602}, {'end': 321.614, 'text': "So I have to create an integer array, and I'm just going to call this nums, and I'm going to throw some data inside of it.", 'start': 314.929, 'duration': 6.685}, {'end': 328.718, 'text': "So I'll say something like 5, 10, 15, 20, 25, 30, 35, just for the heck of it.", 'start': 321.634, 'duration': 7.084}, {'end': 332.361, 'text': "All right, so there's an integer array that I'm going to be querying.", 'start': 328.959, 'duration': 3.402}, {'end': 335.199, 'text': "So let's say I want to get numbers that are bigger than 20.", 'start': 332.677, 'duration': 2.522}, {'end': 339.082, 'text': "So I'm going to say, let's call this GT20 is equal to.", 'start': 335.199, 'duration': 3.883}], 'summary': 'Demonstrating querying on integer array for numbers exceeding 20.', 'duration': 67.037, 'max_score': 272.045, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo272045.jpg'}, {'end': 489.757, 'src': 'embed', 'start': 462.398, 'weight': 3, 'content': [{'end': 465.66, 'text': "What I'm going to do up here is come in here and change the data.", 'start': 462.398, 'duration': 3.262}, {'end': 472.104, 'text': 'So we issued the query above, but the neat thing is after you change the data, the query is going to update.', 'start': 465.8, 'duration': 6.304}, {'end': 473.774, 'text': "And you're going to see what that looks like.", 'start': 472.534, 'duration': 1.24}, {'end': 480.415, 'text': "So even though the information, you don't have to issue the query over and over again, it's going to be something that automatically updates.", 'start': 473.994, 'duration': 6.421}, {'end': 489.757, 'text': "So let's come in here and let's do another for each for I in GT 20, just a little crazy things come into my head.", 'start': 480.935, 'duration': 8.822}], 'summary': 'Demonstrating automatic data update after query execution, avoiding repetitive queries.', 'duration': 27.359, 'max_score': 462.398, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo462398.jpg'}, {'end': 504.421, 'src': 'heatmap', 'start': 480.935, 'weight': 1, 'content': [{'end': 489.757, 'text': "So let's come in here and let's do another for each for I in GT 20, just a little crazy things come into my head.", 'start': 480.935, 'duration': 8.822}, {'end': 492.017, 'text': "Hey, why don't I cover this also? All right.", 'start': 489.817, 'duration': 2.2}, {'end': 497.718, 'text': "So we got that and we can output this and then let's go and do another break.", 'start': 492.037, 'duration': 5.681}, {'end': 500.539, 'text': "And then finally let's return.", 'start': 498.079, 'duration': 2.46}, {'end': 504.421, 'text': 'the integer array that we promised we would return.', 'start': 501.258, 'duration': 3.163}], 'summary': 'Coding process includes multiple iterations, with a final return of the integer array as promised.', 'duration': 23.486, 'max_score': 480.935, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo480935.jpg'}, {'end': 560.401, 'src': 'embed', 'start': 531.671, 'weight': 4, 'content': [{'end': 535.171, 'text': 'so what I want to do now is work with array lists.', 'start': 531.671, 'duration': 3.5}, {'end': 540.613, 'text': "I want to query an array list, so I'm going to call this guy static void.", 'start': 535.171, 'duration': 5.442}, {'end': 545.853, 'text': 'once again, query array List seems to be a logical name for me here.', 'start': 540.613, 'duration': 5.24}, {'end': 546.773, 'text': 'Throw that in there.', 'start': 546.073, 'duration': 0.7}, {'end': 549.615, 'text': "And we're going to have to create our ArrayList.", 'start': 547.213, 'duration': 2.402}, {'end': 553.297, 'text': "Again, just to save a little bit of time, I'm going to create an ArrayList.", 'start': 549.935, 'duration': 3.362}, {'end': 556.339, 'text': "I'm going to call it Famous Animals ArrayList.", 'start': 553.337, 'duration': 3.002}, {'end': 557.9, 'text': "And then I'm going to throw in some animals.", 'start': 556.359, 'duration': 1.541}, {'end': 560.401, 'text': 'And then I have the height and the weight, of course.', 'start': 557.96, 'duration': 2.441}], 'summary': "The transcript discusses working with arraylist, creating a 'famous animals arraylist', and adding animals with height and weight.", 'duration': 28.73, 'max_score': 531.671, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo531671.jpg'}], 'start': 246.78, 'title': 'Querying and working with array lists', 'summary': 'Demonstrates querying on different data types such as dog names sorted in reverse order and querying for numbers greater than 20. it also covers working with array lists, showcasing data manipulation, automatic updates, and various operations like cycling through information and returning values.', 'chapters': [{'end': 360.759, 'start': 246.78, 'title': 'Performing queries on different data types', 'summary': 'Demonstrates how to perform queries on different types of data, including querying for dog names with spaces in reverse alphabetical order and querying for numbers greater than 20 from an integer array.', 'duration': 113.979, 'highlights': ['The chapter showcases querying for dog names with spaces inside them and then putting them in reverse alphabetical order.', 'It demonstrates querying for numbers greater than 20 from an integer array and ordering the results by the number.', 'The method query int array returns an integer array and executes the query for numbers greater than 20.']}, {'end': 576.309, 'start': 361.141, 'title': 'Working with array lists', 'summary': 'Covers working with array lists, demonstrating how to cycle through information, return a value, find data type, convert to list and array, update query results, and query an array list, showcasing automatic updates and relevant data manipulation.', 'duration': 215.168, 'highlights': ['Demonstrating how to return a value, find data type, convert to list and array, and update query results', 'Showing automatic updates and relevant data manipulation when working with array lists', 'Cycling through information and querying an array list']}], 'duration': 329.529, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo246780.jpg', 'highlights': ['The chapter showcases querying for dog names with spaces inside them and then putting them in reverse alphabetical order.', 'It demonstrates querying for numbers greater than 20 from an integer array and ordering the results by the number.', 'Demonstrating how to return a value, find data type, convert to list and array, and update query results', 'Showing automatic updates and relevant data manipulation when working with array lists', 'Cycling through information and querying an array list']}, {'end': 733.69, 'segs': [{'end': 627.239, 'src': 'embed', 'start': 576.549, 'weight': 0, 'content': [{'end': 581.754, 'text': "Now, one thing that's important is you're going to have to convert the array list into an enumerable.", 'start': 576.549, 'duration': 5.205}, {'end': 588.159, 'text': "And to do so, I'm going to come in and I'm going to go famous animal enumerable.", 'start': 582.354, 'duration': 5.805}, {'end': 592.903, 'text': 'And to do that, we go animals, famous animals.', 'start': 589.099, 'duration': 3.804}, {'end': 598.507, 'text': "And I'm going to say of type and state that they are the animal type.", 'start': 593.563, 'duration': 4.944}, {'end': 600.927, 'text': "And then I'm going to issue my query on them.", 'start': 598.865, 'duration': 2.062}, {'end': 607.353, 'text': "So I'm going to go, I'm just going to SM animals is meaning small animals is what I'm doing here.", 'start': 600.987, 'duration': 6.366}, {'end': 612.218, 'text': 'And what I want to do is I want to look for animals that have a weight that is less than or equal to 90.', 'start': 607.594, 'duration': 4.624}, {'end': 618.725, 'text': "So once again, animal, what I'm going to be pulling this information from the famous animal.", 'start': 612.218, 'duration': 6.507}, {'end': 627.239, 'text': "Enumerable And once again, I'm going to say where animal weight is less than or equal to 90.", 'start': 619.335, 'duration': 7.904}], 'summary': 'Converting array list to enumerable, filtering small animals with weight less than or equal to 90.', 'duration': 50.69, 'max_score': 576.549, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo576549.jpg'}, {'end': 676.705, 'src': 'embed', 'start': 647.484, 'weight': 1, 'content': [{'end': 654.866, 'text': "in small animals, and then I can, well, let's go and print this out, go like that.", 'start': 647.484, 'duration': 7.382}, {'end': 659.787, 'text': "And then we can go get the animal's name out of there.", 'start': 655.486, 'duration': 4.301}, {'end': 665.309, 'text': 'And we could say ways and get the weight for our animal.', 'start': 660.208, 'duration': 5.101}, {'end': 668.83, 'text': "And that'll be pounds just to keep that a little bit simple.", 'start': 665.769, 'duration': 3.061}, {'end': 675.832, 'text': "And then to get the specific information, I'll just go animal name and then animal and weight.", 'start': 669.17, 'duration': 6.662}, {'end': 676.705, 'text': 'All right.', 'start': 676.345, 'duration': 0.36}], 'summary': 'A process for obtaining and printing small animal names and weights.', 'duration': 29.221, 'max_score': 647.484, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo647484.jpg'}, {'end': 745.872, 'src': 'embed', 'start': 719.847, 'weight': 3, 'content': [{'end': 726.288, 'text': "And this time I'm going to be querying a collection just to show you another thing that you can query.", 'start': 719.847, 'duration': 6.441}, {'end': 729.449, 'text': 'And I went and threw a collection inside of there just to save some time.', 'start': 726.568, 'duration': 2.881}, {'end': 731.949, 'text': "You can pause your screen and type that out if you'd like to.", 'start': 729.469, 'duration': 2.48}, {'end': 733.69, 'text': "And then I'm going to move on.", 'start': 732.209, 'duration': 1.481}, {'end': 741.351, 'text': "Okay, so now what I'm going to do is look for big dogs that have a weight that is greater than 70 and have a height that is greater than 25.", 'start': 734.11, 'duration': 7.241}, {'end': 745.872, 'text': "All right, so we're going to go big dogs is equal to.", 'start': 741.351, 'duration': 4.521}], 'summary': 'Querying a collection for big dogs with weight > 70 and height > 25.', 'duration': 26.025, 'max_score': 719.847, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo719847.jpg'}], 'start': 576.549, 'title': 'Working with enumerable and collection', 'summary': 'Demonstrates converting array list into an enumerable, querying animals based on weight, working with a collection, filtering animals by weight, and displaying names and weights, with an example of querying a collection.', 'chapters': [{'end': 733.69, 'start': 576.549, 'title': 'Working with enumerable and collection', 'summary': 'Demonstrates how to convert an array list into an enumerable, query animals based on weight, and work with a collection, resulting in filtering animals by weight and displaying their names and weights, with an example of querying a collection.', 'duration': 157.141, 'highlights': ['The chapter demonstrates how to convert an array list into an enumerable The speaker explains the process of converting an array list into an enumerable to enable querying.', 'Query animals based on weight The speaker explains the process of querying animals based on weight, specifically looking for animals with a weight less than or equal to 90.', 'Filtering animals by weight and displaying their names and weights The speaker shows how to filter animals by weight, displaying their names and weights, with the example of filtering animals with a weight of 90 pounds or less.', 'Example of querying a collection The speaker introduces an example of querying a collection to demonstrate another querying technique.']}], 'duration': 157.141, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo576549.jpg', 'highlights': ['The chapter demonstrates how to convert an array list into an enumerable.', 'Filtering animals by weight and displaying their names and weights.', 'Query animals based on weight, specifically looking for animals with a weight less than or equal to 90.', 'Example of querying a collection to demonstrate another querying technique.']}, {'end': 1001.46, 'segs': [{'end': 899.219, 'src': 'embed', 'start': 836.949, 'weight': 0, 'content': [{'end': 839.01, 'text': "All right, so let's just grab this guy right here.", 'start': 836.949, 'duration': 2.061}, {'end': 840.85, 'text': 'Zoom, right up to the top.', 'start': 839.27, 'duration': 1.58}, {'end': 844.191, 'text': "And let's go and call that function to execute.", 'start': 841.19, 'duration': 3.001}, {'end': 845.171, 'text': "Now let's run it.", 'start': 844.411, 'duration': 0.76}, {'end': 850.833, 'text': "And you can see that the St. Bernard's the only one that comes back as qualifying for our conditions.", 'start': 845.551, 'duration': 5.282}, {'end': 853.354, 'text': 'And it prints out a St. Bernard weighs 200 pounds.', 'start': 851.153, 'duration': 2.201}, {'end': 855.034, 'text': 'Okay, so pretty cool stuff.', 'start': 853.714, 'duration': 1.32}, {'end': 864.104, 'text': 'Okay, so now what I want to do is I want to show you how you can come in here and do some more things with select, like I promised you could do,', 'start': 855.521, 'duration': 8.583}, {'end': 869.086, 'text': 'as well as how to do an inner join and a group join, which is very, very useful.', 'start': 864.104, 'duration': 4.982}, {'end': 875.768, 'text': "So we'll go like this, and we'll say query animal data is the name of this.", 'start': 869.206, 'duration': 6.562}, {'end': 878.669, 'text': "And let's just go and call, well, don't worry about it.", 'start': 876.388, 'duration': 2.281}, {'end': 882.026, 'text': "All right, so I'm going to throw in some information here.", 'start': 879.284, 'duration': 2.742}, {'end': 891.093, 'text': 'Okay, so I went and created an animal array called Animals equals new, and I went and created individual animals inside of it.', 'start': 882.386, 'duration': 8.707}, {'end': 894.756, 'text': 'So I have German Shepherd, height, weight, and animal ID.', 'start': 891.113, 'duration': 3.643}, {'end': 899.219, 'text': 'Animal ID is going to be used to perform my different joins,', 'start': 895.216, 'duration': 4.003}], 'summary': 'Demonstration of querying animal data and performing joins in a programming context.', 'duration': 62.27, 'max_score': 836.949, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo836949.jpg'}, {'end': 980.987, 'src': 'embed', 'start': 951.544, 'weight': 4, 'content': [{'end': 952.925, 'text': 'We just created that guy.', 'start': 951.544, 'duration': 1.381}, {'end': 956.007, 'text': "And that's just something kind of interesting you can do with Select.", 'start': 952.985, 'duration': 3.022}, {'end': 960.731, 'text': "So you're just pulling those two things out and making a brand new collection.", 'start': 956.287, 'duration': 4.444}, {'end': 964.382, 'text': 'You could then come in here and convert this to an animal array.', 'start': 961.001, 'duration': 3.381}, {'end': 974.385, 'text': 'And how you would do that is go array name and height is equal to and go name height like that.', 'start': 964.662, 'duration': 9.723}, {'end': 976.926, 'text': 'And then go to array.', 'start': 974.945, 'duration': 1.981}, {'end': 980.987, 'text': "So that's going to convert it into an object array like I said before.", 'start': 977.246, 'duration': 3.741}], 'summary': 'Demonstrated creating a new collection and converting it to an object array.', 'duration': 29.443, 'max_score': 951.544, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo951544.jpg'}], 'start': 734.11, 'title': 'Filtering and data manipulation', 'summary': 'Demonstrates filtering big dogs by weight and height criteria, resulting in st. bernard as the only breed meeting the conditions, and also showcases manipulating data using select, inner join, and group join to create a new collection with specific attributes and joining information from different arrays based on matching ids.', 'chapters': [{'end': 855.034, 'start': 734.11, 'title': 'Filtering big dogs', 'summary': 'Demonstrates filtering big dogs with weight greater than 70 pounds and height greater than 25 inches, resulting in st. bernard being the only breed that meets the conditions, weighing 200 pounds.', 'duration': 120.924, 'highlights': ['The chapter demonstrates filtering big dogs with weight greater than 70 pounds and height greater than 25 inches, resulting in St. Bernard being the only breed that meets the conditions, weighing 200 pounds.', "The process involves defining conditions for the weight and height of dogs, ordering the results by the dog's name, and outputting the information, leading to the St. Bernard as the only qualifying breed, weighing 200 pounds."]}, {'end': 1001.46, 'start': 855.521, 'title': 'Manipulating data with select, inner join, and group join', 'summary': 'Demonstrates how to manipulate data using the select statement, inner join, and group join, showcasing the creation of a new collection with specific attributes and joining information from different arrays based on matching ids.', 'duration': 145.939, 'highlights': ['The chapter demonstrates how to manipulate data using the Select statement, inner join, and group join. The chapter covers the usage of the Select statement, inner join, and group join to manipulate data, showcasing various techniques for data manipulation.', 'Showcasing the creation of a new collection with specific attributes and joining information from different arrays based on matching IDs. The speaker creates a new collection with specific attributes using the Select statement, and demonstrates joining information from different arrays based on matching IDs, providing a practical example of data manipulation.', 'Creating a brand new collection with specific attributes using the Select statement. The speaker illustrates the creation of a new collection with specific attributes using the Select statement, emphasizing the ability to extract and manipulate data to form a tailored collection.']}], 'duration': 267.35, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo734110.jpg', 'highlights': ['The chapter demonstrates filtering big dogs with weight greater than 70 pounds and height greater than 25 inches, resulting in St. Bernard being the only breed that meets the conditions, weighing 200 pounds.', "The process involves defining conditions for the weight and height of dogs, ordering the results by the dog's name, and outputting the information, leading to the St. Bernard as the only qualifying breed, weighing 200 pounds.", 'The chapter demonstrates how to manipulate data using the Select statement, inner join, and group join.', 'Showcasing the creation of a new collection with specific attributes and joining information from different arrays based on matching IDs.', 'Creating a brand new collection with specific attributes using the Select statement.']}, {'end': 1175.212, 'segs': [{'end': 1052.402, 'src': 'embed', 'start': 1023.952, 'weight': 1, 'content': [{'end': 1028.335, 'text': 'And now you can see that it returned only the name as well as only the height.', 'start': 1023.952, 'duration': 4.383}, {'end': 1030.096, 'text': 'Alright? So, neat stuff.', 'start': 1028.615, 'duration': 1.481}, {'end': 1030.876, 'text': "Let's do some more.", 'start': 1030.215, 'duration': 0.661}, {'end': 1035.171, 'text': 'Now what I want to do is create what is called an inner join.', 'start': 1031.209, 'duration': 3.962}, {'end': 1045.457, 'text': 'And what this is going to do is join info in the owners and animals using equal values that exist in the IDs.', 'start': 1035.371, 'duration': 10.086}, {'end': 1052.402, 'text': 'And what I want to do specifically is store values for the animal and the owner specifically.', 'start': 1046.018, 'duration': 6.384}], 'summary': 'Demonstrating inner join to link owner and animal info.', 'duration': 28.45, 'max_score': 1023.952, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo1023952.jpg'}, {'end': 1127.498, 'src': 'embed', 'start': 1080.971, 'weight': 0, 'content': [{'end': 1088.954, 'text': "So I'm going to say join owner in owners on animal, and then specifically animal ID.", 'start': 1080.971, 'duration': 7.983}, {'end': 1090.834, 'text': 'Jump down to the next line.', 'start': 1089.693, 'duration': 1.141}, {'end': 1091.735, 'text': "That's perfectly fine.", 'start': 1090.854, 'duration': 0.881}, {'end': 1095.618, 'text': 'Equals owner, owner ID.', 'start': 1092.475, 'duration': 3.143}, {'end': 1101.522, 'text': 'So these are going to be joined based off of equality between the IDs of the animals as well as the owners.', 'start': 1095.818, 'duration': 5.704}, {'end': 1104.345, 'text': 'And then do something fancy with select.', 'start': 1102.303, 'duration': 2.042}, {'end': 1112.971, 'text': "I'm going to go select new and I'm going to say owner name is equal to owner name, obviously.", 'start': 1104.405, 'duration': 8.566}, {'end': 1119.813, 'text': "And let's jump down to the next line and then say animal name is equal to animal name.", 'start': 1112.991, 'duration': 6.822}, {'end': 1124.196, 'text': 'Alright, so there we got a fancier type of query that we just issued.', 'start': 1120.134, 'duration': 4.062}, {'end': 1127.498, 'text': "Now what we're going to be able to do is cycle through this information.", 'start': 1124.496, 'duration': 3.002}], 'summary': 'Joining owners with animals based on id equality and selecting owner and animal names for a fancy query.', 'duration': 46.527, 'max_score': 1080.971, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo1080971.jpg'}], 'start': 1001.46, 'title': 'Inner join query in c#', 'summary': "Demonstrates creating an inner join query in c# to retrieve information from two arrays, resulting in the output 'doug parks, owned german shepherd'.", 'chapters': [{'end': 1175.212, 'start': 1001.46, 'title': 'Inner join query in c#', 'summary': "Demonstrates creating an inner join query in c# to retrieve information from two arrays based on equal values, returning specific values for the animal and owner, resulting in the output 'doug parks, owned german shepherd'.", 'duration': 173.752, 'highlights': ['The chapter demonstrates creating an inner join query in C# to retrieve information from two arrays based on equal values, returning specific values for the animal and owner.', "The query outputs 'Doug Parks, owned German Shepherd' by joining the 'owners' and 'animals' arrays based on equality between the IDs of the animals and owners.", "The chapter illustrates using the 'select new' statement to create a fancier type of query, allowing cycling through the information and accessing variables created inside the query."]}], 'duration': 173.752, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo1001460.jpg', 'highlights': ["The query outputs 'Doug Parks, owned German Shepherd' by joining the 'owners' and 'animals' arrays based on equality between the IDs of the animals and owners.", 'The chapter demonstrates creating an inner join query in C# to retrieve information from two arrays based on equal values, returning specific values for the animal and owner.', "The chapter illustrates using the 'select new' statement to create a fancier type of query, allowing cycling through the information and accessing variables created inside the query."]}, {'end': 1420.864, 'segs': [{'end': 1220.594, 'src': 'embed', 'start': 1195.403, 'weight': 0, 'content': [{'end': 1201.186, 'text': "And what we're going to do is print out the owner's name followed by the specific animals that that owner owns.", 'start': 1195.403, 'duration': 5.783}, {'end': 1207.684, 'text': "So I'm going to go var group join is what I'm going to call this, is equal to.", 'start': 1201.96, 'duration': 5.724}, {'end': 1210.547, 'text': 'And I have to define where the information is coming from.', 'start': 1208.125, 'duration': 2.422}, {'end': 1215.09, 'text': "So I'm going to say owner in owners, which is the owner's array.", 'start': 1210.567, 'duration': 4.523}, {'end': 1220.594, 'text': "And then I'm going to say that I want to order by owner dot owner ID.", 'start': 1215.49, 'duration': 5.104}], 'summary': "Print owner's name followed by specific animals owned, using 'var group join' to order by owner id.", 'duration': 25.191, 'max_score': 1195.403, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo1195403.jpg'}, {'end': 1332.56, 'src': 'embed', 'start': 1301.198, 'weight': 1, 'content': [{'end': 1303.599, 'text': 'I have my font size extremely big.', 'start': 1301.198, 'duration': 2.401}, {'end': 1305.04, 'text': "So that's the reason why that happened.", 'start': 1303.659, 'duration': 1.381}, {'end': 1308.542, 'text': "And then I'm going to say select owner to.", 'start': 1305.8, 'duration': 2.742}, {'end': 1312.364, 'text': 'Then at the end of that, come down here and throw a semicolon in there.', 'start': 1308.882, 'duration': 3.482}, {'end': 1313.004, 'text': 'All right.', 'start': 1312.684, 'duration': 0.32}, {'end': 1316.926, 'text': "So that's probably about one of the more complicated queries you're ever going to see.", 'start': 1313.024, 'duration': 3.902}, {'end': 1317.446, 'text': 'All right.', 'start': 1316.946, 'duration': 0.5}, {'end': 1319.934, 'text': 'But what it does is going to be really, really cool.', 'start': 1317.793, 'duration': 2.141}, {'end': 1326.877, 'text': "So what I want to do is I'm going to go total animals, and then I'm going to query through all this information.", 'start': 1320.314, 'duration': 6.563}, {'end': 1332.56, 'text': "So I'm going to say for each var owner group, this brand new group is what I'm going to be working with.", 'start': 1326.917, 'duration': 5.643}], 'summary': 'Demonstrating a complex query involving total animals and a new owner group.', 'duration': 31.362, 'max_score': 1301.198, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo1301198.jpg'}, {'end': 1368.269, 'src': 'embed', 'start': 1340.363, 'weight': 2, 'content': [{'end': 1346.126, 'text': "So I'm going to say owner group owner, and that's going to give me the owner's name.", 'start': 1340.363, 'duration': 5.763}, {'end': 1354.483, 'text': "And then I'm going to cycle through the owner group animal list and print out each animal underneath of each owner's names.", 'start': 1346.499, 'duration': 7.984}, {'end': 1359.465, 'text': "So I'm going to get animal in owner group animals.", 'start': 1355.023, 'duration': 4.442}, {'end': 1361.866, 'text': "Let's go do another one inside of here.", 'start': 1360.005, 'duration': 1.861}, {'end': 1368.269, 'text': "And I can cycle or I can increment the values for total animals if I'd like.", 'start': 1361.886, 'duration': 6.383}], 'summary': 'Cycling through owner group to print animals per owner.', 'duration': 27.906, 'max_score': 1340.363, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo1340363.jpg'}, {'end': 1420.864, 'src': 'embed', 'start': 1407.032, 'weight': 4, 'content': [{'end': 1414.658, 'text': 'Like I say, always go in there, experiment, play around with your own data, and just try things out, break things, learn things, do things.', 'start': 1407.032, 'duration': 7.626}, {'end': 1415.719, 'text': "That's how you learn.", 'start': 1414.919, 'duration': 0.8}, {'end': 1419.302, 'text': 'So like always, please leave your questions and comments below.', 'start': 1416, 'duration': 3.302}, {'end': 1420.864, 'text': 'Otherwise, till next time.', 'start': 1419.663, 'duration': 1.201}], 'summary': 'Experiment and play with your own data to learn and improve.', 'duration': 13.832, 'max_score': 1407.032, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo1407032.jpg'}], 'start': 1175.212, 'title': 'Group join and querying animal ownership', 'summary': 'Explains group join to associate owners with their specific animals using a complex query, and covers querying and printing information about animal ownership, cycling through owner groups and their animals, and experimenting with data to learn.', 'chapters': [{'end': 1319.934, 'start': 1175.212, 'title': "Group join for owner's animals", 'summary': "Explains the process of performing a group join to associate owners with their specific animals by matching their ids, and printing the owner's name followed by the specific animals. it entails using a complex query to achieve this functionality.", 'duration': 144.722, 'highlights': ['Performing a group join to associate owners with their specific animals by matching their IDs The chapter explains the process of performing a group join to associate owners with their specific animals by matching their IDs.', "Printing the owner's name followed by the specific animals The process involves printing the owner's name followed by the specific animals that the owner owns.", 'Using a complex query to achieve the functionality The chapter details the use of a complex query to create a new group of owners and their associated animals, involving ordering and joining operations.']}, {'end': 1420.864, 'start': 1320.314, 'title': 'Querying and printing animal ownership', 'summary': 'Covers how to query and print information about animal ownership, cycling through owner groups and their animals, and experimenting with data to learn.', 'duration': 100.55, 'highlights': ["Cycling through owner group animal list and printing out each animal underneath each owner's name", "Printing the owner's name followed by the specific animals that owner owns", 'Encouraging experimentation and learning by playing around with data and trying things out']}], 'duration': 245.652, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/gwD9awr3NNo/pics/gwD9awr3NNo1175212.jpg', 'highlights': ['Performing a group join to associate owners with their specific animals by matching their IDs', 'Using a complex query to achieve the functionality', "Printing the owner's name followed by the specific animals", "Cycling through owner group animal list and printing out each animal underneath each owner's name", 'Encouraging experimentation and learning by playing around with data and trying things out']}], 'highlights': ['The chapter demonstrates filtering big dogs with weight greater than 70 pounds and height greater than 25 inches, resulting in St. Bernard being the only breed that meets the conditions, weighing 200 pounds.', "The query outputs 'Doug Parks, owned German Shepherd' by joining the 'owners' and 'animals' arrays based on equality between the IDs of the animals and owners.", "The chapter illustrates using the 'select new' statement to create a fancier type of query, allowing cycling through the information and accessing variables created inside the query.", 'The chapter demonstrates how to manipulate data using the Select statement, inner join, and group join.', 'The chapter demonstrates how to convert an array list into an enumerable.', 'The chapter showcases querying for dog names with spaces inside them and then putting them in reverse alphabetical order.', 'The chapter demonstrates the process of creating and querying arrays in a program, including manipulating a string array to sort strings with spaces in alphabetical order.', 'The chapter demonstrates how to convert an array list into an enumerable.', 'The chapter demonstrates how to manipulate data using the Select statement, inner join, and group join.', 'The chapter demonstrates the process of creating and querying arrays in a program, including manipulating a string array to sort strings with spaces in alphabetical order.']}