I rarely use aliases (unless rarely required in self-join queries).
When I have that option, I create unique columns by prefixing every
table (and its objects) with a number.
Something like:
Create table T1234_Employee
  (C1234_Employee_id number(5),
   C1234_employee_status char(1)...)
  Index X1234_Employee_Id on .... Etc.

Yes, the column names may be longer this way, but easy to refer to and
easy to communicate (by specifying a table number). I wonder what others
think about it.

David.

-----Original Message-----
From: Rik Wasmus [mailto:r...@grib.nl] 
Sent: Wednesday, August 03, 2011 6:47 AM
To: mysql@lists.mysql.com
Subject: Re: Too many aliases

> >>>> 2011/08/02 12:11 +0530, Adarsh Sharma >>>>
> 
> select p.* from table A p, B q where p.id=q.id
> 
> or
> 
> select p.* from table B q , A p where q.id=p.id
> <<<<<<<<
> Why do people constantly change table names for queries, although, as
here,
> it gain them nothing? It often makes for less clarity (for which table
is
> this an alias???).

Depens on your table names. I rather like being able to give a short 
description rather then long table names if someone decided that as a 
tablename. I doubt your example with already short tablenames is one
from real 
life, but if you saw someone doing it would indeed be a waste of time.
But the 
main thing is it helps to distinguish tables  in joins having the same
table 
more then once (and of course results from subqueries etc.):

SELECT first.* 
FROM tablename first
LEFT JOIN   tablename second
   ON    first.some_id = second.some_id
   AND first.id != second.id
WHERE second.id IS NULL
-- 
Rik Wasmus

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:
http://lists.mysql.com/mysql?unsub=dle...@us.univision.com


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=arch...@jab.org

Reply via email to