- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2011魔乐_oracle课堂笔记_SQL语句02[精品]
1、课程名称:SQL语句
2、知识点
2.1、上次课程的主要知识点
1、 Oracle数据库的四个主要用户:
· 超级管理员:sys / change_on_install;
· 普通管理员:system / manager;
· 普通用户(解锁):scott / tiger;
· 海量数据用户(解锁):sh / sh;
2、 sqlplus的主要命令:
· 设置每行显示的长度:SET LINESIZE 长度;
· 设置每页显示的长度:SET PAGESIZE 长度;
· 编辑与执行指令:ed、@;
· 连接用户:CONN 用户名 / 密码 [AS SYSDBA];
· 调用本机程序:HOST 命令;
3、 SQL的基本语法
SELECT [DISTINCT] * | 列 [别名] [,列 [别名],列 [别名] ...]
FROM 表名称 [别名]
[WHERE 条件(s)]
[ORDER BY 排序字段 [ASC | DESC] [,排序字段 [ASC | DESC],...]] ; 4、 在WHERE子句里面可以编写多个条件,条件判断:关系运算、逻辑运算、BETWEEN..AND、IN、LIKE、IS NULL;
5、 单行函数:UPPER()、LOWER()、INITCAP()、REPLACE()、LENGTH()、INSTR()、SUBSTR()、ROUND()、TO_CHAR()、TO_DATE()、NVL()、DECODE()、SYSDATE、MONTHS_BETWEEN()、ADD_MONTHS()、LAST_DAY()、NEXT_DAY();
2.2、习题讲解
1、 找出各月倒数第3天受雇的所有员工。
首先需要确定的是,每一个雇员的雇佣日期是不一样的,那么每一个雇佣日期所在月的最后一天(LAST_DAY())也肯定不一样,现在要求计算出各月倒数第三天雇佣(日期 – 数字)。
公式:雇佣日期 = LAST_DAY(雇佣日期) – 2;
SELECT * FROM emp
WHERE hiredate=LAST_DAY(hiredate)-2 ; 2、 找出早于12年前受雇的员工。
如果要计算年份,那么最简单的做法就是通过月数(MONTHS_BETWEEN())除以12;
SELECT * FROM emp WHERE MONTHS_BETWEEN(SYSDATE,hiredate)/1212 ; 3、 找出在(任何年份的)2月受聘的所有员工。
如果要想求出一个日期的月数,那么使用TO_CHAR()函数即可。
SELECT * FROM emp WHERE TO_CHAR(hiredate,mm)=02 ; SELECT * FROM emp WHERE TO_CHAR(hiredate,mm)=2 ; 4、 显示满10年服务年限的员工的姓名和受雇日期。
SELECT ename,hiredate FROM emp WHERE MONTHS_BETWEEN(SYSDATE,hiredate)/1210 ; 5、 显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面。
SELECT ename,hiredate FROM emp ORDER BY hiredate ; 6、 显示所有员工姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面。
既然要拆分年和月,则使用TO_CHAR()函数完成。
SELECT ename,TO_CHAR(hiredate,yyyy) year,TO_CHAR(hiredate,mm) months
FROM emp
ORDER BY months,year ; 可以发现,现在在Order BY子句里面使用的是别名,在所有子句之中,只有ORDER BY可以使用别名。
7、 显示在一个月为30天的情况所有员工的日薪金,忽略余数
SELECT ename,TRUNC(sal/30) FROM emp ; 8、 以年月日的方式显示所有员工的服务年限。
本题目的含义如下,例如,现在假设一个雇员是在1981-02-14雇佣,而今天的日期是2012年03月27日,那么这个雇员已经被公司雇佣了:30年、1个月、13天;
· 步骤一:计算出每一个雇员到今天为止雇佣的年份,通过月份操作;
SELECT empno,ename,hiredate,
TRUNC(MONTHS_BETWEEN(SYSDATE,hiredate)/12) year
FROM emp ; · 步骤二:计算出每一个雇员被雇佣的月数,在之前计算年的时候剩下的无法整除的部分就是月,使用MOD()
SELECT empno,ename
您可能关注的文档
- 2011年国家农业综合开发产业化经营财政补助项目3000吨冷库配套车间扩建项目可研报告[精品].doc
- 2011年6月27日银川房地产市场调研报告[精品].ppt
- 2011年安徽会计从业资格考试《财经法规与会计职业道德》习题全集整理版[精品].doc
- 2011年平安医院建设暨社会治安综合治理工作方案[精品].doc
- 2011年安丘中考英语复习研讨会课件[精品].ppt
- 2011年吉林省首届高职院校技能大赛赛题1[精品].doc
- 2011年广州市初中青年数学教师解题比赛决赛试题与答案[精品].doc
- 2011年广州白云万达广场营销企划工作计划1[精品].doc
- 2011年度建筑业企业专业技术管理人员岗位资格继续教育考试试卷及答案—土建A[精品].doc
- 2011年心理学自考考试大纲及笔记[精品].doc
最近下载
- 《《机械创新设计》课程标准.doc VIP
- 小学残疾儿童送教上门教案(40篇).pdf
- 菜品知识培训.pptx
- 旅游收入与分配-(精选·公开·课件).ppt
- 2023年长三角一体化示范区苏州湾投资发展(江苏)有限公司人员招聘考试参考题库及答案解析.docx
- 高压氧治疗对于颈椎病患者的影响分析.pptx
- 2021年长三角一体化示范区苏州湾投资发展(江苏)有限公司招聘试题及答案解析.docx
- 尼可地尔夜景游览欣赏岛上迷人的夜间灯光和美景.pptx
- 2023年长三角一体化示范区苏州湾投资发展(江苏)有限公司招聘考试试题及答案解析.docx
- 第六单元跨学科实践活动5基于碳中和理念设计低碳行动方案教学设计-2024-2025学年九年级化学人教版上册.docx
文档评论(0)