Congratulations! You finished another module. So joins are pretty simple concepts, but they're really powerful, right? So, now we've just expanded what data we're able to pull, by however many tables we have. Especially, if we have a unique key linking them together. So, now our queries can start to get really complex because of the number of fields we're going after and how rapidly they've increased. Again, as we've always said with SQL. Probably one of the hardest parts about it, is that it's easy to get results. You just need to be sure you're getting the results that you want. Now that you're joining data you don't want to see what is happening to every record or how it's matching. So, you need to make sure you're going through and checking your results. If you're doing a Cartesian join, check the number of records in the first table and the second table, and multiply them to make sure it's the intended outcome. If you're doing the left join and you know how many records are in the left table, make sure that's the number of records that you are getting back in your results. Everything's going to be brought over from the left table. Another thing to do is check for duplicates. So, unless you set something where, you're doing a union and you don't care if there's duplicates, check and see if somehow your join got messed up and there's duplicates. So, let's go over a few quick things you can do to start to make sure that our joins are working well. One, check the number of records you have each time you make a new join. Did you lose any records? Did you gain any record you weren't expecting? And then the other thing, is to look for duplicates. So, as you start to join more and more tables together, it's going to get more complex. So really start small. Start with just one table, check it, and add another table. Check it and move on from there. As I said before, the most important thing I can teach you in this class is to slowly do. So, I know it's so easy to get in and you want to write the query and pull some data, but it will definitely benefit you in the long run and you're going to get a lot further ahead if you stop and think about what you're doing first. So, even if you just need to draw the two tables and draw how they're joining together in a picture, that can help a lot. Just taking the time to slowly think through what you're trying to do will be really helpful. I encourage you to actually think about what's actually happening in the query. Determine how these records are going to be merged before you actually even sit down and write the query at all. Even though you might think that you should be writing, typing, and putting in code, I promise you taking the time to really think about things through will save you a ton of time and frustration in the long run. So, another thing to remember, is always put the joins you'll need to use a join condition. So, unless you're doing a Cartesian join or unions, but the inner joins, the left joins, and the right joins those will all need a join condition. Usually, you'll be working with inner join. However, be sure to understand all of them, because you never know when you'll need that secret weapon in your arsenal. Another thing to remember, is the more tables you join, the worse your performance is going to get. So again, it's easy just say, "Go get me all the data, I'm going to use it all for my analysis". Resist that urge and think strategically about your analysis. Don't grab unnecessary data if you don't need it. Why go through all the pain of moving it, if you really don't need it? So, think strategically about the data you need. As in life, only take what you need. Don't take more, don't take less. It's just a good habit to get into. And then lastly, the syntax for some of these joins may be a little bit different based on your database management system. Most of these joins, except for the right and for the outer join, should work with SQlite which we're using in this class. But if you're using something different at work, just keep that in mind. So, there's a lot of different diagrams you can find on SQL joins. I think if you just Google SQL joins, there's a lot of ones that will come up. I really like these because it provides a visual to help me kind of remember, okay, what's coming from what table, what's matching, and where are they coming from? Are all the rows coming? What's happening? So, this is just a nice little diagram. I think it's helpful for you as you're writing your queries and feel free to print it out. Keep it by your desk because you're getting started. But it really just kind of goes through and shows the differences between all the joins and what's happening there. Okay, you should now be all set as far as joining goes. I hope you're excited. Like I said the data you can now work at with has expanded dramatically. Just remember and think about what you're doing. Really put together, kind of what's happening. Either write it out on a piece of paper just to break some of the abstraction down before starting to write your queries, but get in there and practice and you'll be getting the data you want back for your analysis in no time.