数据库——sql语句 连接查询
数据库——连接查询
1.定义:同时涉及多个表的查询。
2.连接条件常用格式:
[<表名1>]<列名><比较运算符>[<表名2>]<列名2>
连接字段类型必须是可比的。(字符串比字符串,数值比数值)
引用表1和表2中同名属性时,必须加表名前缀;引用唯一属性时可加可不加。
3.连接字段
- 连接谓词中的列名称为连接字段
- 连接条件中的各连接字段类型必须是可比的,但不必是相同的。
广义笛卡尔积(不带任何连接条件,很少使用):
自然等值连接:
表别名(from语句中 原名as别名)
distinct避免重复
select语句中加入distinct可以解决这个问题
自身连接(取别名以示区别且必须使用别名前缀):
内连接
where语句中指定的内连接称为旧式内连接
transact-SQL查询中内连接用:
表1 Inner Join 表2 on 连接条件
外连接
- 普通连接操作只输出满足连接条件的元组
- 外连接指定表作为主体表,主体表中不满足连接条件的元组也输出,另一表对应的位置给予空值。
左外连接:主体表Left Outer Join非主体表
右外连接:非主体表Right Outer Join主体表
全外连接:主体表Full Outer Join主体表