二、多表联合查询
1、合并结果集 : 把两个select语句的查询结果合并到一起
union 合并结果集并且去除重复数据。
union all合并结果集并且不去除重复数据
要求:被合并的两个结果集,列数和列类型必须相同
2、连接查询 : 就是求多个表的乘积
例如 a表连接b 表那么查询结果就是a表*b表
连接查询产生 笛卡尔积(在sql 中实现方式,交叉连接 cross join)
所有的连接方式都会产生笛卡尔积,然后加上限制条件,才会有实际查询意义
jion 就是把多个表连接成一个表的手段
多表查询分为 内连接和外连接
select empt .ename,dept .dname,empt .job from empt as e,dept as d where empt .deptno=dept .deptno;
select e.ename,d.dname,e.job from empt as e,dept as d where e.deptno=d.deptno;
AS 关键字可以给表起别名 as 可以省略
内连接 【inner】join...on inner可省略
【隐式】 select e.ename,d.dname,e.job from empt as e,dept as d where e.deptno=d.deptno;
【显式】select e.ename,d.dna