SQL Self Join Example
Access self join: In this update query example we
use the self join query technique to update each employee's salary by
10%. There are at least two ways to do this update.
Example c) (below) is supposed to work but I get errors in Access. It is called a correlated subquery - if you can tell me what is wrong with it I'd really appreciate it.
Microsoft Access is a fully capable database and it's primary limitations is the number of concurrent users it will support. Generally, we recommend a limit of 10 to 15 users.
We create databases large and small. Some of our databases help run entire small businesses. We also handle unique businesses such as flyrod manufacturing, cheese making, marina management, and cable tv inventory.
Self Join Query Code:
a) Update M_Emp as A INNER JOIN M_Emp as B
ON A.Emp_ID = B.Emp_ID SET A.Salary = B.Salary*1.1
b) Update M_Emp as A, M_Emp as B Set
A.Salary=B.Salary * 1.1
c) Update M_Emp as A set A.Salary = (Select Salary
* 1.1 from M_Emp Where M_Emp.Emp_ID = A.Emp_ID)
Note: I have added a another feature to this self join
- Aliases. Aliases are where you use 'as' to establish a short nickname
for a table or a field. This alias feature helps when you have long table names or are trying to
do a correlated subquery.
Additional One Table/Same Table Update Examples:
Self Join in Visual Basic Detail Master Update
Table Data in Access
Access Self Join Query for Inventory Calculations Example