笔记_ORACLE之查询+DML.pdf

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
笔记_ORACLE之查询DML

笔记_ DML+查询 Oracle日常操作的命令分为两大类 :sqlpl s命令和一般sql语句。 示例的情况 : CREATE USER scott IDENTIFIED BY m123; GRANT DBA TO scott; 【一般查询】 : 1.求员工的年工资。 错 :SELECT sal*13+comm 年工资 ,ename FROM emp; 对 :SELECT sal*13+nvl(comm,0) 年工资 ,ename FROM emp; 2.查询1980年4月2日后入职的员工名单。 两种方式 :SELECT hiredate, ename FROM emp WHERE hiredate to_date(1980-4-2, yyyy-mm-dd); 或SELECT hiredate, enameFROM emp WHERE hiredate 2-4月-1980; 其中 , 2-4月-1980是oracle能默认识别的Date格式。 3.查询工资在2000至2500的员工名单。 SELECT sal 工资,ename FROM emp WHERE sal2000 AND sal2500; 注意条件之间别忘了and。 4.查询名字第三个字母为大写字母O的员工名单。 SELECT ename FROM emp WHERE ename LIKE __O%; like操作符 :%表示任意0到多个字符。_表示任意单个字符。 这个例子中 ,注意O后面的%不要落写了。 5.查询员工号码为123或324或550的员工名单。 SELECT * FROM emp WHERE empno IN(123,324,550); 查询多个条件时建议用in( ) ,而不是多个or。 因为oracle对in()这种方式的查询有优化 ,效率特别高。 6.查询工资高于500 或岗位为MANAGER 并且姓名首字母为大写J的员工名单。 SELECT sal,j ob,ename FROM emp WHERE (sal500 OR j ob=MANAGER) AND ename LIKE J%; 注意括号。 [ORDER BY] : 1.按薪水从低到高排列员工信息。 SELECT * FROM emp ORDER BY sal; 注意ORDER BY默认 (ASC )是从小到大 (升序 )的顺序 ;从大到小 (降序 )须加上DESC。 2.按部门号升序而员工工资降序排列员工信息。 SELECT * FROM emp ORDER BY deptno,sal DESC; 多个排序字段 ,则用逗号隔开 ,前面的为第一排序字段 ,后面的一次降级。 比如此例 ,若是ORDER BY sal DESC ,deptno ,则结果完全不一样。 3.按部门号升序而员工入职时间降序排列员工信息。 只需将上例的sal改为hiredate。 注意 ,Oracle中日期、时间 (Date )字段可排序 ,即有大小 ,应该是时间戳形式的。 4.按年薪降序排序 (或者说 查询员工的年薪并按从高到低排序)。 SELECT sal*12+NVL(comm,0) 年薪,ename FROM emp ORDER BY 年薪 DESC; 这里用到了Oracle的 “别名” : a.别名可以是中文或英文 ,都是用半角双引号 (一大特点 ); b.别名钱可加as ,也可省略 ; c.别名作为整体可作为ORDER BY的字段 ; 类似本例这种带别名的排序查询 ,在统计系统、

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档