SQL > SQL JOIN > Inner Join
An inner join in SQL returns rows where there is at least one match on both tables. Let's assume that we have the following two tables,
Table Store_Information
Store_Name | Sales | Txn_Date |
Los Angeles | 1500 | Jan-05-1999 |
San Diego | 250 | Jan-07-1999 |
Los Angeles | 300 | Jan-08-1999 |
Boston | 700 | Jan-08-1999 |
Table Geography
Region_Name | Store_Name |
East | Boston |
East | New York |
West | Los Angeles |
West | San Diego |
We want to find out sales by store, and we only want to see stores with sales listed in the report. To do this, we can use the following SQL statement using INNER JOIN:
SELECT A1.Store_Name STORE, SUM(A2.Sales) SALES
FROM Geography A1
INNER JOIN Store_Information A2
ON A1.Store_Name = A2.Store_Name
GROUP BY A1.Store_Name;
FROM Geography A1
INNER JOIN Store_Information A2
ON A1.Store_Name = A2.Store_Name
GROUP BY A1.Store_Name;
Result:
STORE | SALES |
Los Angeles | 1800 |
San Diego | 250 |
Boston | 700 |
By using INNER JOIN, the result shows 3 stores, even though we are selecting from theGeography table, which has 4 rows. The row "New York" is not selected because it is not present in the Store_Information table.
No comments:
Post a Comment