多表查询
持续更新!!!
连接类型:
- Cross joins 交叉连接 -> 笛卡尔乘积
- Natural joins 自然连接
- USING clause 使用USING子句创建连接
- ON clause 使用ON子句
重点理解外连接
Natural自然连接
- 基于两个表中具有相同名称的所有列
- 从两个表中选择所有匹配列中值相等的行
- 若具有相同名称的列但数据类型不同,返回错误 i.e. 有隐式转换
自然连接中使用的列不能有限定符,即:对于查询的列不用加上前缀表名。
USING Clause
- 如果多个列具有相同的名称,当数据类型不匹配,则可以使用
- 不要再引用的列中使用表名或别名
限定不明确的列名
- 使用表前缀限定多个表中的列名
- 使用表前缀提高性能
- 使用列别名来区分名称相同但位于不同表中的列
- 不要在USING子句中使用出现过的别名
使用表别名Table Aliases
- 简化查询
- 提高性能
使用ON子句创建连接
- 使用ON子句指定任意条件或指定要连接的列
select e