




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
having…orderby…1.5 简 bea,目的是为了得到weblogic(web服务器的框架,免费的对应的tomcat)年月日sun公司收购了mysql年月oracle收购了tuxedoc、c安 实例主服务OracleServiceORCL登陆 本机有服务器端在命令行:sqlplusscott/11 --scott用户,11 连接命令:sqlplus在tnsnames.ora里配置了连接别sqlplus退出指登陆管理员用户sqlplussys/sysass用户是oae超级用户,默认在安装的主机上登录可以不输入(安装的时候e)修改需要2SQL>alteruserscottaccount用户已更改SQL>alteruserscottidentifiedby用户已更改任务:晚上自行修改hr用户的,作业是以hr为--tab字典,存放的表的类型,名字相关的信SQL>select*from TABTYPE 表:行和列的集合,是数据库的最基本单位清屏:SQL>hostcls查看表SQLdescdept(部门表名 是否为空?类
(部门编号 NOTNULL(部门名称 (地址 SQLdescemp名 是否为空?类 员工编 NOTNULL VARCHAR2(10) 工 入职时 薪 奖 部门编 设置行设置页永久性设置D:\app\Administrator\product\11.2.0\ setlinesize140;setpagesizecolempnofor999999;colenamefora20; linux启动启动实例sqlplus/as启动侦听:在命lsnrctl写法注意分可以换行写,sql关键字不能缩写,不能换行基本查SELECT*|{[DISTINCT]column|expression FROM结论:查询,可以全部列,部分列,表达式select*from--查询员工号,,月薪,奖金,年selectempnoas"员工编号",ename"",sal薪水,comm奖金,sal*16年薪fromemp;selectempnoas"员工编号",ename"",sal薪水,comm"奖金",sal*16年薪fromemp;--select*select列的select列更好?因为实例内部进行转--查询员工号--查询员工号,月薪,奖金,年薪,年null的第一个结论,null与任何值运算,结果为nvl(a,b)如果a为null,返回结果为b,如果a不为null,返回selectempnoas"员工编号",ename"",sal薪水,comm"奖金",sal*16年薪,sal*16+nvl(comm,0)年收入from--查看员工表不同的部门编号distinct去除重selectdistinctdeptnofrom--输出计算表达式3+20*5,显示当前日伪表(dual,数学计算,取系统时间,函数使用)和伪列(sysdate,并不存在某,但是可以直接使用SQL>select3+20*5,sysdatefrom3+20*510316-6月-select3+20*5,sysdatefromsqlplus与sql命令的区别,哪个是sqlplus令,哪个是sqlsethostclsinsertsql可以查看sqlplusSQL>?where过 select。。。from。。。where。。复杂sql的编写方ed(it)记事本,编辑sql,sql不带/执行where过比较运算 ><>=<=!=(<>)between--查询10号部门的员select*fromempwheredeptno=--查询员工名字为king的员工SQL>select*fromEMPwhereENAME='KING';--字符串单引号包含,大小写敏感EMPNOENAME MGRHIREDATE 7839 17-11月- select*fromempwheresal1250;select*fromempwheresal1250;--查询入职日期 日的员工信息--说明日期格式敏SQL>select*fromempwherehiredate='17-11月-EMPNOENAME MGRHIREDATE 7839KING SQL>select*fromempwherehiredate='17-11月-EMPNOENAME MGRHIREDATE 7839KING --修改会话,日期格式yyyy-mm-SQL>altersessionsetNLS_DATE_FORMAT='yyyy-mm-会话已更改SQL>selectsysdatefromdual;2017-06-select*fromempwherehiredate'1981-11-17';--留下一逻辑运算符:写多个条and并or或not--查询10号部门或者20部门的员工信select*fromempwheredeptno=10orselect*fromempwheredeptno=10andsal1300;--查找工资介于1000-2000之间的员工信select*fromempwheresal>=1000andsal<=select*fromempwheresalbetween1000andselect*fromempwheresalbetween1100and1600;--betweenand从小--查询81年2月(含2月)至82年2月(不含2月)入职的员工信息等于81年2月1日,小于等select*fromempwherehiredatebetween'1981-02-01'and'1982-01查询奖金为空的员工信息-不能使用=或者!=作为null的查询条件column=null(不成立select*fromempwherecommisselect*fromempwherecommisnot--多个条件时怎么写更优sql执行的时候,先执行最右面的条件and的时候,将易条件写在右or的时候,将易真的条件写在右--下面的语句是什么含义select*fromempwheredeptno=10ordeptno=30andselect*fromempwhere(deptno=10ordeptno=30andsal=1250;--注意在or的时候,一般in:在集合--查询部门号是10或者20的员工信select*fromempwheredeptno=10ordeptno=select*fromempwheredeptnoin select*fromempwheredeptnonotin(10,20);null的又一个结论:不能在notin的集合中使用表达 不会成立,所以整个表达式为notin(10,20,nullif(deptno10&&表达 不会成立,所以整个表达式为like:模糊查知识点:‘%’匹配任意多个字符。‘_’匹配一个--查询员工首字母是S的员工信select*fromempwhereenamelike--查询母的员工信select*fromempwhereenamelike --查询带有下划线insertintoemp(empno,ename,job,sal,deptno)escape指定转义字select*fromempwhereenamelike'%\_%'escapeselect*fromempwhereenamelike'%/_%'escapeselect取出的内容from…从哪取where…有哪些条 如何设计排序按列?表达式按什么排如何识别按什么排计关键字order按多列排序?排序顺序的升序还是降序?asc升序(默认),desc降oracle支持orderbycolumn|expr|alias|number--员工信息按入职日期排select*fromemporderbyselect*fromemporderbysaldesc;--员工信息按部门、薪水如果要按照多列进行排序,则规则是先按照第一列排序,如果相同,则按照第二列排序;以此类select*fromemporderbydeptnodesc,saldesc;--asc和desc作用的它之前的最近的字--员工信息按奖金逆序nulls --select*fromemporderbycommdescnullslast;select*fromemporderbynvl(comm,-1)desc按序号排序--序号是查询结果集的列的序号,并非是表的selectempno,ename,salfromemporderby3按照别名来排selectempno,ename,salsal1fromemporderbysal1单行 定义:对一行进行变换,返回一个字符函--lower小写,upper大写 首字母大select owOrld')一 owOrld')二 owOrld')三from--concat(连接符SQL>select o','world')fromdual连接字符串,支持2个参SQL>SQL>select o'||'world'||'haha'||'444'from'--substr(str,pos,len)截取字符串,从pos位置开始,截取len长度,如果len未填写,代表直接到末select oworld',1,3)一 oworld',1)二 oworld',-3)三fromselectinstr(' oworld','owo')一,instr(' oworld','owow')二fromdual;--lpad,rpad--l(r)pad(str,len,ch)返回len长度的字符串,如果str不够len的话,在左(右)填充ch个字--trim,re oworld')||'bbb'fromdual;--去首尾selecttrim('Hfrom 数值函--round四舍五入trunc截断mod取selectround(45.926,2)一round(45.9261)二,round(45.926,0)三,round(45.9261)四round(45.926fromselecttrunc(45.926,2)一trunc(45.926,1)二trunc(45.926,0)三,trunc(45.926,-1)四,trunc(45.9262)fromceil函数-向上取整,floor函数--向下取SQL>selectceil(181/60),floor(181/60)fromCEIL(181/60) 转换函数---把薪水转换为本地货币字selectempno,sal,to_char(sal,'L9,999')from--把上述某个结果转回数selectto_number('¥2,975','L9,999')from--to_char与--显示"yyyy-mm-ddhh24:mi:ss今天是星期几selectto_char(sysdate,'yyyy-mm-ddhh24:mi:ss今天是dayfrom--将上述输出字符串反转回selectto_date('2017-06-1616:10:20今天是星期五','yyyy-mm-ddhh24:mi:ss今天是"day')from上午遗留的问select*fromempwherehiredate=to_date('1981-11-17','yyyy-mm-select*fromempwhereto_char(hiredate,'yyyy-mm-dd')='1981-11-日期函--显示昨天,今天,明天--oracle日期型+1代表SQL>selectsysdate-1昨天,sysdate今天,sysdate+1from昨 今 明2017-06-152017-06-162017-06计算员工以按日,周,月,年日期差减方SQLselectempno,ename,sysdate-hiredate日,(sysdate-hiredate)/7周,(sysdate-hiredate)/30月,(sysdate-hiredate)/365年fromemp;上述结果不够准确,计算月份和年的时--日期函数months_betweenadd_monthslast_day--months_between算月份差确--这样更准selectempno,ename,months_between(sysdate,hiredate),(sysdate-hiredate)/30月fromadd_months增加月selectadd_months(sysdate,2)from求明年的今last_day最后一天--指定日期所在月份的最后 if(job=='')sal elsesal+400;CASEexprWHENcomparison_expr1THEN[WHENcomparison_expr2THENreturn_expr2WHENcomparison_exprnTHENreturn_exprnELSEelse_expr]sql99标selectempno,ename,sal涨前薪水,casejobwhen 'thenelsesalendfrom from oracle提供的分组函数:avg,sum,max,min,统计平--员工人selectcount(empno),count(*)from--求emp表中的工种SQL>selectcount(distinctjob)from--求员工的平均工资(两种方式SQL>selectavg(sal),sum(sal)/count(*)fromAVG(SAL)SUM(SAL)/COUNT(*) --求员工的平均奖金(三种方式SQL>selectavg(comm),sum(comm)/count(*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生育服务保障承诺书(5篇)
- 公交司机考试题库及答案
- 软件开发测试及维护合同书
- 滑县特岗地理考试真题及答案
- 枣庄物理中考试题及答案
- 汽车美容及维修服务合同书
- 合肥七中考试题型及答案
- 光电器件技术考试题库及答案
- 软件测试笔试题及答案解析大全
- 入伍政治考核笔试题及答案
- Unit 2 单元测试卷-2024-2025学年人教版七年级英语上册
- 工厂地震安全培训计划课件
- 综合实践 活动二 曹冲称象的秘密(课件)数学西师大版三年级上册(新教材)
- 2025年版简单个人房屋装修合同模板下载
- 业务公关费用管理办法
- 机动车检测与维修工程师考试题附答案
- 交通管制安全知识培训课件
- 2025标准建设银行贷款合同范本
- 富阳农村住宅管理办法
- 三体系培训课件
- 带状疱疹疼痛的护理
评论
0/150
提交评论