欢迎来到天天文库
浏览记录
ID:10552122
大小:237.00 KB
页数:30页
时间:2018-07-07
《oracle的sql语句百例训练》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Oracle系列《一》:简单SQL与单行函数 使用scott/tiger用户下的emp表和dept表完成下列练习,表的结构说明如下emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno部门编号)dept部门表(deptno部门编号/dname部门名称/loc地点)工资=薪金+佣金登录Oracle数据库1、sqlplusscott/tiger2、sqlplus/nologSQL>connscott/tiger若是使用SYS的账号进行登录的话,则使用以下语句
2、SQL>conn/assysdba【1】EMP表内容查询SQL>SELECT*FROMemp; 出错,原因是没有找到该表,因为该表时SCOTT用户的表,所以查询时应该加上scott.emp就可以了【2】显示当前用户SQL>showuser【3】查看当前用户的所有表SQL>SELECT*FROMtab;【4】若想重复执行上一条SQL语句,则在sqlplus命令行下输入"/"即可【5】查询一张表的结构,例如dept表SQL>descdept【6】在雇员表中查询雇员的编号、姓名、工作SQL>SELECTempno,ename,jobFROMemp;【
3、7】可以为列名取别名,在Linux下Oracle如果英文别名不加上双引号则会变成大写SQL>SELECTempno编号,ename姓名,job工作FROMemp;【8】查询所有的工作SQL>SELECTDISTINCTjobFROMemp; 工作可能会重复,加上DISTINCT关键字【9】若要求按照以下的格式进行结果输出,如NO:7469,Name:SMITH,Job:CLERKSQL>SELECT'NO:'
4、
5、empno
6、
7、',Name:'
8、
9、ename
10、
11、',Job:'
12、
13、jobFROMemp;【10】要求列出每个雇员的姓名及年薪SQL>S
14、ELECTename,sal*12incomeFROMemp;这里年薪最好用别名进行标识,可以一眼就能明白【11】查看每月可以得到奖金的雇员信息SQL>SELECT*FROMempWHEREcommisNOTNULL;【12】要求基本工资大于1500,同时可以领取奖金的雇员信息SQL>SELECT*FROMempWHEREsal>1500ANDcommisNOTNULL;如果是或的是关系,则使用OR【13】查询基本工资不大于1500,同时不可以领取奖金的雇员信息SQL>SELECT*FROMempWHERENOT(sal>1500ANDcomm
15、isNOTNULL);【14】查询在1981年雇佣的全部雇员信息,BETWEEN..AND包含等于的情况SQL>SELECT*FROMempWHEREhiredateBETWEEN'01-JAN-81'AND'31-DEC-81';【15】Oracle对大小敏感,所以查询时名字要区分大小写【16】要求查询出雇员编号不是7369、7499的雇员信息SQL>SELECT*FROMempWHEREempnoNOTIN(7369,7499);【17】SQL中LIKE语句要注意通配符%和_SQL>SELECT*FROMempWHEREhiredateLI
16、KE'%81%';【18】查看雇员编号不是7369的雇员信息,使用<>或!=SQL>SELECT*FROMempWHEREempno<>7369;【19】要求对雇员的工资由低到高进行排序,升序为默认(ASC),降序(DESC)SQL>SELECT*FROMempGROUPBYsal;【20】查看出部门号为10的雇员信息,查询的信息按照工资从高到低,若工资相等则按雇用日期从早到晚排列SQL>SELECT*FROMempWHEREdeptno=10GROUPBYsalDESC,hiredateASC;数据库系统中,每个数据库之间区别最大的就是在函数
17、的支持上,单行函数是最简单的函数,单行函数分为1、字符函数:接受字符输入并且返回字符或数值2、数值函数:接受数值输入并返回数值3、日期函数:对日期型数据进行操作4、转换函数:将一种数据类型转换为另一种数据类型5、通用函数:NVL、DECODE函数字符函数:【1】大小写转换UPPER和LOWERSQL>SELECTUPPER('smith')FROMdual;【2】将雇员姓名变为开头字母大写,INITCAPSQL>SELECTINITCAP(ename)FROMemp;字符函数中有连接函数CONCAT,但不如
18、
19、好用,还有字符串处理的一些函数字符
20、串截取:substr()字符串长度:length()内容替换:replace()SQL>SELECTsubstr('hello',1,3),lengt
此文档下载收益归作者所有