That's right! Aliases are also convenient in other cases. Let's analyze the following situation:
We want to put information about children and their mothers into a database. At some point, we would also like to show children together with their mothers using a
Let's say we store both children and mothers in the same table
Person. Each row has a column named
MotherId. This column contains the ID of another row – the mother's row.
The question is: can we join the table
Person with the table
Person? The answer is simple: yes, we can! But you can't simply write this in your SQL query:
Person JOIN Person
You need to provide two different aliases for the same table:
FROM Person AS Child
JOIN Person AS Mother
ON Child.MotherId = Mother.id;
Thanks to the aliases, the database engine will use the same table twice—the first time to look for children, and the second time to look for their mothers.