rowid :用于定位数据库中一条记录的一个相对唯一的地址,相当于是该条记录的虚拟内存地址。通常情况下,该值在该行数据插入到数据表时即被确定且唯一。rowid是一个伪列,实际不存在在表中,是数据的真实地址根据一定的算法计算得出的。数据的真实地址和rowid是可以相互算出来的。
rownum:rownum是在一个已经查询出的结果里,从上到下给查询结果的编号。
在结果有排序的情况下
如果按照主键进行排序,先排序后确定rownum
如果根据非主键进行排序,先确定rownum再排序
可以通过在rownum中挑选特定条数来实现分页的效果
查询所有用户的信息及所在部门信息
查询的数据: 用户信息 部门信息
来源: 用户表 emp 部门表 dept
多个表中才能拿到我们想要的数据==连表查询
92语法
select A from B,C
外链接:确认主表(主表中的内容会全部展示) +对面的表为主表,+所在的表为从表
左外连接 主表在,的左边叫做左连接
右连接 主表在,的右边叫做右连接
自连接 特殊的连接,自己连接自己 也可以自外链接
select * from emp e2,emp e1 where e1.mgr=e2.empno(+); --右连接
select * from emp e1,emp e2 where e1.mgr=e2.empno(+); --左连接
99写法 交叉连接 cross join
select * from emp cross join dept
using 连接 指定字段等值连接
select * from emp join dept using(deptno);
非等值连接|等值连接 join ..on..
select * from emp join dept on emp.deptno = dept.deptno;
外连接
左外连接 left join .. on..
select * from emp e1 left join emp e2 on e1.mgr = e2.empno;
右外连接 right join .. on..
select * from emp e2 right join emp e1 on e1.mgr = e2.empno;