做题总结Word文档下载推荐.docx

上传人:b****1 文档编号:5624071 上传时间:2023-05-05 格式:DOCX 页数:10 大小:15.75KB
下载 相关 举报
做题总结Word文档下载推荐.docx_第1页
第1页 / 共10页
做题总结Word文档下载推荐.docx_第2页
第2页 / 共10页
做题总结Word文档下载推荐.docx_第3页
第3页 / 共10页
做题总结Word文档下载推荐.docx_第4页
第4页 / 共10页
做题总结Word文档下载推荐.docx_第5页
第5页 / 共10页
做题总结Word文档下载推荐.docx_第6页
第6页 / 共10页
做题总结Word文档下载推荐.docx_第7页
第7页 / 共10页
做题总结Word文档下载推荐.docx_第8页
第8页 / 共10页
做题总结Word文档下载推荐.docx_第9页
第9页 / 共10页
做题总结Word文档下载推荐.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

做题总结Word文档下载推荐.docx

《做题总结Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《做题总结Word文档下载推荐.docx(10页珍藏版)》请在冰点文库上搜索。

做题总结Word文档下载推荐.docx

--然后课根据这些projid查到对应的名称在t_project;

selectprojnamefromt_projectwhereprojidin(1,2,3);

PROJNAME

------------------------------

oa系统

学生管理系统

图书管理系统

--综上所得(查询某个程序员jack参与的项目名称)为:

selectprojnamefromt_project

2whereprojidin(selectprojidfrom

3t_prog_projwhereprogid=(

4selectprogidfromt_programmer

5whereprogname='

));

--查询参与做网上银行系统的所有程序员

--首先的指导网上银行系统的projid是通过表t_project

selectprojidfromt_projectwhereprojname='

网上银行系统'

4

--然后通过表t_prog_proj得到projid所对应的程序员的progid:

selectprogidfromt_prog_projwhereprojid=4;

--然后通过表t_programmer得到progid所对应的程序员的姓名:

selectprognamefromt_programmerwhereprogidin(3,4);

PROGNAME

--------------------

rose

smith

--所以综上可得所求:

selectprognamefromt_programmer

2whereprogidin(selectprogidfrom

3t_prog_projwhereprojid=(

4selectprojidfromt_project

5whereprojname='

--查询参与oa系统但是没有参与图书管理系统的程序员的姓名:

--首先查询出oa系统和图书管理系统的projid

oa系统'

图书管理系统'

--然后查询出projid所对应的程序员的progid在表t_prog_proj中:

selectprogidfromt_prog_projwhereprojid=1;

6

selectprogidfromt_prog_projwhereprojid=3;

5

--通过作差集可以求出(查询参与oa系统但是没有参与图书管理系统的程序员的姓名)

--minus显示存在第一个集合中,而不存在第二个集合中的数据。

selectprogidfromt_prog_projwhereprojid=1

2minus

3selectprogidfromt_prog_projwhereprojid=3;

4;

selectprogidfromt_prog_projwhereprojid=3;

*

第3行出现错误:

ORA-00911:

无效字符

 

ed

已写入fileafiedt.buf

1selectprogidfromt_prog_projwhereprojid=1

3*selectprogidfromt_prog_projwhereprojid=3

4/

--所以总的代码是:

selectprognamefromt_programmerwhereprogid

2in(selectprogidfromt_prog_projwhereprojid

3=(selectprojidfromt_projectwhereprojname=

4'

5minus

6(selectprogidfromt_prog_projwhereprojid

7=(selectprojidfromt_projectwhereprojname=

8'

)));

--查询公司每个程序员年薪,按照年薪高低排序

selectprogid"

编号"

progname"

姓名"

sal"

月薪"

2sal*12"

年薪"

3fromt_programmer

4orderbysal*12desc;

编号姓名月薪年薪

--------------------------------------------------

4smith600072000

1jack500060000

5scott460055200

6richel450054000

2tom400048000

3rose300036000

已选择6行。

--查询每个项目的参与程序员的人数,月度工资开支总数

--思路:

这三张表本来就是一张表:

就是因为每个项目

--有多个人参加,每个人可以参加多个项目:

--如果和成一张表,则就能明显统计出,每个人参加的

--项目的总数和每个项目参加的总人数:

--首先将三张表合成一张表:

selectpg.prognamefrom

2t_programmerpg,t_projectpj,

3t_prog_projpp

4where

5pg.progid=pp.progid

6and

7pp.projid=pj.projid;

jack

tom

scott

richel

已选择14行。

--上面的名字子所以会重复出现,是因为每个人参加了多个项目:

selectpj.projnamefrom

网上银行系统

7pp.projid=pj.projid

8orderbypj.projname;

--也正是如此,因为每个项目有多个人参加,所以每个项目才会对此出现

--所以讲上面三张联合的表作为一张表,在里面可以清楚的

--显示出每个项目有多少个人参加,每个人参加了多少个项目:

--因此:

(?

查询每个项目的参与程序员的人数,月度工资开支总数)

selectt.projname"

项目"

count(t.progname)"

参与人数"

sum(t.sal)"

总工资"

2from(selectpj.projnameprojname,

3pg.prognameprogname,

4pg.salsalfrom

5t_programmerpg,t_projectpj,t_prog_projpp

6where

7pg.progid=pp.progid

8and

9pp.projid=pj.projid

10)t

11groupbyt.projname;

项目参与人数总工资

--------------------------------------------------

学生管理系统522600

网上银行系统29000

oa系统312500

图书管理系统418100

spooloff;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2