oracle over 租号-oracle 数据库表的设计,分区和索引的设计

时间:2020-07-13 02:10:05 作者:租号谷

oracle sql查询的一个习题,选择所有员工的姓名、员工号、管理者姓名、管理者的员工号

我一直不喜欢:

select * from a,b

这样的查询方式,或许它看起来非常简洁 ,但是有的时候它并不是那么好用

我一般用 Left join 和 inner join 这 两种方式来参照。

如下:

-- 上面的是 除boss 以外的所有员工

select e.name,e.dept_id,m.name as "管理者名称",e.manager_id as "管理者员工号"

from emp e

Left join emp m on e.manger_id= m.id

where e.manger_id is not null

Union ALL

-- 下面的是 boss

select name,dept_id,''as "管理者名称",'' as "管理者员工号"

from emp

where manger_id is null

select e.name,e.dept_id,m.name as "管理者名称",e.manager_id as "管理者员工号"

from emp e,emp m

where e.manager_id=m.id(+);

用外连接,你可以查查资料

如果是查询所有条目的信息就不需要条件啊,直接

select name,.... from emp。

或许是我没有理解你的问题,但你描述的就是这样的,“

选择所有员工的姓名、员工号、管理者姓名、管理者的员工号

用左联接:

select e.name,e.dept_id,m.name as "管理者名称",e.manager_id as "管理者员工号"from emp e left outer join

emp m

on        e.manager_id=m.id;

select e.name,e.dept_id,m.name as "管理者名称",m.id as "管员工号"

from emp e left join emp m on m.id=e.manager_id;

oracle 数据库表的设计,分区和索引的设计

我就说一下啊..你看你设计的是对个人还是对一个客户代码..

很简单来说...银行卡..你肯定有几张以上的银行卡..如果你的设计是类似银行卡的用户..把单独的用户抽象出来...

还有最好用户信息和其他地址信息.还有你所包括的其他的分别抽象出来...就这样子吧..我个人看能把这表搞成3个1对1关系的表..那时不用怎么建立索引的..你还少了日值字段..你如何记录用户的创建日期和修改日期..用户记录修改后你都不知道什么时候修改的或者说谁修改的...BUG啊....

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现oracle over 租号-oracle 数据库表的设计,分区和索引的设计有涉嫌版权的内容,欢迎发送邮件至:2145784@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关推荐

租号器怎么过云检测

一、百度租号器怎么过云检测查询 租号器怎么过云检测百度关键词查询 编号 相关词 搜索量 相关结果 百度查询 优化价格 1 租号器怎么过云检测 72977 163.3万 百度租号器怎么过云检测 89.6元 2 刀锋租号玩下载官方