Saturday 13 December 2014

SQL INNER JOIN

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_NameSalesTxn_Date
Los Angeles1500Jan-05-1999
San Diego250Jan-07-1999
Los Angeles300Jan-08-1999
Boston700Jan-08-1999
Table Geography
Region_NameStore_Name
EastBoston
EastNew York
WestLos Angeles
WestSan 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;
Result:
STORESALES
Los Angeles1800
San Diego250
Boston700
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