数据库之连接查询
连接查询
一、内连接查询
等值查询
select a.id,b.ID,a.name0,b.xingming
from info2 a,info3 b
where a.id=b.ID
如果不加where则变为交叉查询
其实等值不等值查询就是交叉查询的筛选版
inner join... on/join on等值查询
using on 等值查询必须限制在两个数据表具有相等的字段名,且类型相同
二、自连接
用于同一个表内做比较
格式与内连接大致相同
三、外连接
1.左外连接
将from后面左侧表中满足和不满足的数据全部显示出来
select 表1.字段 left join 表2.字段
on 表名1.字段1=表名2.字段2
可用using优化
2.右外连接
将from后面右侧表中满足和不满足的数据全部显示出来
select 表1.字段 right join 表2.字段
on 表名1.字段1=表名2.字段2
3.全外连接
显示的是左侧表中满足连接条件的记录,还会显示右侧表中不满足查询条件的记录
select 表1.字段,表2.字段
from 表名1 full join 表名2
on 表名1.字段1=表名2.字段2
(全外连接支持oracle,不支持mysql,mysql通过union求左外连接和右外连接的合集达到同样的目的)