Skip to main content

SQL Joins

Are you aware of the fundamentals of a Set theory which entails a critical element for our database i.e. the concept of joins? Why do we need Joins in the database? Joins are the fundamental element if you want to combine various tables using a common or related column between them. Joins are mainly used in every analytical and business intelligence tool. 

Let's take a deep dive into the fundamentals of joins which is apparent by using a Venn diagram. There are mainly four types of joins- Inner, Left, Right, and Full outer join. Let's suppose we have two datasets A and B. When we focus on inner join it basically means the focus will be on the intersection or common columns present in both datasets. Similarly, the left join focuses on the dataset that is available in A and the common columns between both data sets. Right join is quite identical to left join but the main difference is it takes the data from B along with the common columns present between both data sets. Lastly, full outer join entails the complete data present in both A and B.

Source

This blog will mainly focus on SQL joins because that's the biggest dilemma for beginners where to use which joins when writing a query.  Let's remove the dust from this first we need to get familiar with the syntax query.


SELECT column_name(s)
FROM table1
INNER/OUTER/LEFT/RIGHT JOIN table2
ON table1.column_name = table2.column_name;


To configure it out you need to understand the Venn diagram that is mentioned above. Inner join is used when there is a commonality that exists between your data. Inner join identifies the data which is common and overlapping in nature. It returns the rows of data which has some exact matches. Whilst Outer join on other hand returns all rows including the ones which do not have any match or contains null values. Normally full outer join is not that popular when we consider MySQL database. An outer join will return all the data which is similar to taking a copy of the data in a common table. 

There's a big question which is needed to be addressed when we talk about inner and outer joins i.e. Can we use inner and outer join in the same query? Yes, it is possible to use both in the same query but keeping their order in mind because it can be tricky at times. According to my experience if you use LeftOuter Join before applying an Inner Join then you will get the desired results but it can be false too because it depends on the data and constraints you are working with. I would recommend you to have a look at Jeff Smith Blog. It will provide you greater insight when you are using multiple joins.

Comments

Post a Comment

Popular posts from this blog

Ultimate Beginners Guide to DAX Studio

There are zillions of external tools available with Power BI but DAX Studio is one of the most commonly used tools to work with DAX queries. It is a perfect tool to optimize the DAX and the data model. In this blog let's shed some light on the basic functionalities that can take your report to the next level. ARE YOU READY?  To start you will need the latest version of the DAX Studio. You can download it from their website . Don't worry you don't have to pay for the license. Fortunately, DAX Studio is a free tool As a BI Developer, I am using DAX Studio regularly. Based on my experience I use it for several purposes but in this blog, I will highlight the most common ones. Extracting a dump of all the measures used in your PBIX. Why do we need to do this? It can be used for documentation purposes also sometimes we try to reuse the DAX and such a dump comes in handy in this scenario. How to achieve it? Open the DAX Studio it is located under the external tools once you open t

Use Relationship in DAX

Data modeling is an essential part of creating perfect visuals. While creating complex data models there can be a case where you can find an inactive relationship represented by dotted lines and it occurs because you already have an active relationship between the two tables. But as a developer, you need to use both the relationship. How can it be done? You can use "Use Relationship" in such cases. Use relationship can be added to your DAX and act as a modifier or enhancer for calculation. It activates the inactive relation. But make sure you have an inactive relationship in place before using the use relationship function. Let's see how it works on Sample Superstore data. In my fact table I have two dates- Order date and Ship date. I am making the two relations between my date table and fact table. The relation between the sample superstore (date) to date table (date) is active while the relation between the sample superstore (ship date) to date table (date) is inactive

Append v/s Merge in Power BI

Let's discuss another problem of the week. As a Power BI user, there are times when you want to combine queries. What are the ways to do so? In most cases, you can attain it by using either append or merge and both serve different purposes. Let's understand what do these terms mean in Power BI and how they are functionally different from each other.  It is quite common to get data from various sources and you need to combine those data depending on a particular column which is common in both tables so that you can add extra information or column to your big table. In such cases, we use merge queries. How to perform merge queries? For instance, I am considering Sample Superstore data and we will merge the returns table to the order table. You will find both merge and append in the home tab in extreme right in the power query editor. ProTip - You will find two options when you click on the drop-down in merge which are merge queries and merge queries as new. When you use merge que