预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

黑马程序员c语言教程:Oracle指令大全 第一篇:黑马程序员c语言教程:Oracle指令大全--什么时候用外连接呢?比如领导向你要所有学生的列表,顺便把所属的班级也列出来,就需要外连接--在Where语句中使用子查询-----雇员中最高薪水的人员名称--1,先求出最高薪水--2,再求雇员中最高薪水的人员名称selectenamefromempwheresal=(selectmax(sal)fromemp)--有哪些人的薪水是在整个雇员的平均薪水之上的selectename,salfromempwheresal>(selectavg(sal)fromemp)-----雇员中哪些人是经理人--1,首先查询mgr中有哪些号码--2,再看有哪些人员的号码在此出现selectdistinctmgrfromempwheremgrisnotnullorderbymgrselectenamefromempwhereempnoin(selectdistinctmgrfromempwheremgrisnotnull)--wherein中不让写orderbyselectenamefromempwhereempnoin(selectdistinctmgrfromempwheremgrisnotnullorderbymgr)-----在From子句中使用子查询------部门平均薪水的等级--1,首先将每个部门的平均薪水求出来--2,然后把结果当成一张表,再用这张结果表和salgrade表做连接,以此求得薪水等级selectdeptno,avg(sal)fromempgroupbydeptnoselect*from(selectdeptno,avg(sal)avg_salfromempgroupbydeptno)tjoinsalgradeonavg_salbetweenlosalandhisal;-----每个部门最高薪水的人员名称--1,首先将每个部门的最高薪水求出来--2,然后把结果当成一张表,再用emp和这张结果表做连接,以此求得每个部门最高薪水的人员名称selectdeptno,max(sal)fromempwheredeptnoisnotnullgroupbydeptnoselectenamefromempejoin(selectdeptno,max(sal)max_salfromempwheredeptnoisnotnullgroupbydeptno)tonsal=max_salande.deptno=t.deptno-----哪些人的薪水在部门的平均薪水之上--1,首先将每个部门的平均薪水求出来--2,然后把结果当成一张表,再用emp和这张结果表做连接,以此求得哪些人的薪水在部门的平均薪水之上selectdeptno,avg(sal)avg_salfromempgroupbydeptnoselect*fromempjoin(selectdeptno,avg(sal)avg_salfromempgroupbydeptno)ton(sal>avg_salandemp.deptno=t.deptno)-----求部门中(所有人的)平均的薪水等级,形式如:--deptnoavg_grade--103.67--202.8--302.5--1,先求每个人的薪水等级--2,再按照部门分组,求平均数selectdeptno,sal,gradefromempjoinsalgradeonsalbetweenlosalandhisalselectdeptno,avg(grade)from(selectdeptno,sal,gradefromempjoinsalgradeonsalbetweenlosalandhisal)tgroupbydeptno------------------------------使用伪字段:rownum,----------------------------------------------------用来标识每条记录的行号,行号从1开始,每次递增1selectrownum,emp.*fromemp;--oracle下rownum只能使用>=等比较操作符,selectrownum,emp.*fromempwhererownum--(错误的写法)例如,当我们要求薪水最高的前5个人时,最直接的想法可以这样写:select*fromempwhererownumselect*from(select*fromemporderbysaldesc)twhererownum第二篇:黑马程序员c语言教程:Oracle指令---------------------------orderby的用法--员工信息按照姓名正序排列select*from