本章的主题是“创建高级联结”,主要介绍如何使用表别名,如何对被联结的表使用聚集函数。
提示
- 表的别名只在查询执行中使用,不返回到客户端。
使用表别名
SQL允许给表名起别名,有两个主要理由:
- 缩短SQL语句
- 允许在一条SELECT语句中多次使用相同的表
自连接
自连接通常作为外部语句,用来替代从相同表中检索数据的使用子查询语句。许多DBMS处理联结远比处理子查询快得多。
自然联结
无论何时对表进行连接,应该至少有一列不只出现在一个表中。标准的连接(内联结)返回所有数据,相同的列甚至多次出现。自然联结排除多次出现,使每一列值返回一次。
一般通过对一个表使用通配符(SELECT *),而对其他的列明确指定来完成。
外连接
连接包含了哪些在相关表中没有关联行的行。这种连接称为外连接。
LEFT OUTER JOIN,RIGHT OUTER JOIN,FULL OUTER JOIN