资源描述:
《数据库(初稿)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SQL>descemp;名称是否为空?类型----------------------------------------------------------------EMPNONOTNULLNUMBER(4)ENAMEVARCHAR2(10)JOBVARCHAR2(9)MGRNUMBER(4)HIREDATEDATESALNUMBER(7,2)COMMNUMBER(7,2)DEPTNONUMBER(2)SQL>descdept;名称是否为空?类型-------------------------------------------------------------DEPTNONOTNUL
2、LNUMBER(2)DNAMEVARCHAR2(10)LOCVARCHAR2(9)总结1连接字符串的方式2数据类型区别oraclevarchar2clobintegermysqlvarchartextint3主键的自动生成oracle
3、db2
4、postgresequencemysqlauto_increment4存储过程PL/SQL1.选择部门30中的所有员工.select*fromempwheredeptno=30;2.列出所有办事员(CLERK)的姓名,编号和部门编号.selectename,empno,deptnofromempwherejob='CLERK';3.找出佣金高于薪金的员工
5、.selectenamefromempwherecomm>sal;4.找出佣金高于薪金的60%的员工.selectenamefromempwherecomm>(sal*0.6);5.找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料.select*fromempwhere(deptno=10andjob='MANAGER')or(deptno=20andjob='CLERK');6.找出部门10中所有经理(MANAGER),部门20中所有办事员(CLERK),既不是经理又不是办事员但其薪金大于或等于2000的所有员工的详细资料.select*fromempw
6、here(deptno=10andjob='MANAGER')or(deptno=20andjob='CLERK')or(jobnotin('MANAGER','CLERK')andsal>=2000);9.找出各月倒数第3天受雇的所有员工.select*fromempwherehiredate=last_day(hiredate)-2;10.找出早于30年前受雇的员工.select*fromempwhere(sysdate-hiredate)/365>30;select*fromempwheremonths_between(sysdate-hiredate)/12>30;11.以首字母大写的
7、方式显示所有员工的姓名.selectinitcap(ename)fromemp;12.显示正好为5个字符的员工的姓名.selectenamefromempwherelength(ename)=5;select*fromempwhereenamelike'_____';一个下划线代表任一位13.显示不带有"R"的员工的姓名.selectenamefromempwhereenamenotlike('%R%');14.显示所有员工姓名的前三个字符selectsubstr(ename,0,3)fromemp;15.显示所有员工的姓名,用a替换所有"A"字符串连接::concat,,
8、
9、selectre
10、place(ename,'A','a')fromemp;16.显示满10年服务年限的员工的姓名和受雇日期.(同10)selectename,hiredatefromempwhere(sysdate-hiredate)>10;17.显示员工的详细资料,按姓名排序.select*fromemporderbyename;18.显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面.selectename,hiredatefromemporderby(sysdate-hiredate)desc;19.显示所有员工的姓名、工作和薪金,按工作的降序排序,若工作相同则按薪金排序.selectena
11、me,job,salfromemporderbyjobdesc,sal;20.显示所有员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面.selectename,to_char(hiredate,'yyyy')year,to_char(hiredate,'mm')mouthfromemporderbyto_char(hiredate,'mm'),to_c