使用表别名的一个主要原因是能够在一条SELECT语句中不止一次地引用相同的表。
假如要给与Jim Jones同一公司的所有顾客发送一封邮件。这个查询要求首先找出Jim Jones工作的公司,然后找出在该公司工作的顾客。
第一种解决方案,子查询:
SELECT cust_id, cust_name, cust_contact
FROM customers
WHERE cust_name = (SELECT cust_name
FROM customers
WHERE cust_contact = 'Jim Jones');
第二种解决方案,自联结:
SELECT c1.cust_id, c1.cust_name, c1.cust_contact
FROM customers AS c1, customers AS c2
WHERE c1.cust_name = c2.cust_name
AND c2.cust_contact='Jim Jones';