4 ms·
Curious question: why do you always use table aliases? To keep your query shorter? When I don't need an alias I just use the full table name for readability:
by ohwp 13y ago
Curious question: why do you always use table aliases? To keep your query shorter?
When I don't need an alias I just use the full table name for readability:
SELECT
Department.Name,
COUNT(Employees.EmployeeID)
FROM Department
JOIN Employees
ON Employees.DepartmentID = Department.DepartmentID
GROUP BY Department.Name
HAVING COUNT(Employees.EmployeeID) < 3
- codegeek 13y agoGood question. I always find it easier to have the aliases because sometimes, table names are too long for me to remember. Also, tehre are times when we join the same table by itself and at that point, I use x1, x2 etc. In general, aliases always work while direct table names may not work for all cases. So i just keep it simple.
- jeremysmyth 13y agoThere's also the cognitive overload of reading long identifiers, multiplied by the naming conventions of some large corporate databases. I'd rather see: EmployeeReferences eFrom JOIN EmployeeReferrals eTo ...and then see ON eFrom.ID = eTo.ID ... JOIN xyz ON eFrom.Source = ... rather than have to read acres of EmployeeRe-something 4 or 5 times through an 8-table BI join. Similarly, I've had to deal with (admittedly legacy) tablenames like A12R18SALE and A12B14PROD. Aliases come in really handy there.
- jfb 13y agoToo much typing.
- ohwp 13y agoGet a better IDE ;)
- dspillett 13y agoI always use table aliases as a matter of habit: * I always specify columns as table.column, not just column as it makes things explicit where the could be ambiguity if a less experienced coder is looking (I know that column reference in a correlated sub-query refers to the most local instance of that table, but having the table name there explicitly states that referring to that was my intention and not an accident). Having short aliases saves typing in this instance (though not too short/arbitrary - the object names should still be meaningful in the context of the query: a, b, c, d, ... would generally be bad aliases) * If the query gets more complex and needs to join objects in that have columns of the same names as those in existing objects (especially if you add another reference to an object already in use in this query), you've already got the aliases there for the first instance reducing the chance you'll get one wrong when adding them in for both instances of the same name.
- genwin 13y agoI use to use full table names if only to avoid inconsistency with aliases in other code. Now I use aliases and ignore inconsistencies. Being a purist wasn't worth it.