继续上篇博客没总结完的
3.4 外连接
3.4.1 左外链接
左表数据全部显示,如何能连接上就显示连上的数据,如果连接不上,则为空
select 字段 from 表名A left outer join 表名B on A.Aid = B.AID; 指返回A和B表的所有都拥有的记录,加上A剩下的所有记录
3.4.2 右连接
右表数据全部显示,如何能连接上就显示连上的数据,如果连接不上,则为空
select 字段 from 表名A right outer join 表名B on A.Aid = B.AID; 指返回A和B表的所有都拥有的记录,加上B剩下的所有记录
3.5 交叉连接
交叉连接不带WHERE子句
select * from 表A cross join 表B
它返回被连接的两个表所有数据行的笛卡尔积,返回结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。
带where的连接
select * from 表A cross join 表B where A. AID= B.AID 返回AB两个表的所有记录
4.子查询
4.1 子查询当作表使用
select * from A,(select * from A where .....) where ...... 先查询子查询中的记录查询出来后会返回一个表将此表当作外层查询的表使用
4.2 子查询当作条件使用
select * from A where (select AVG(工资) from A where)>500