针对人群:
数据库小白
也希望得到大佬点评指正
实训前提:
本实训包含两个表:emp(员工表)、dept(部门表);
emp表包含: EMPNO(员工编号)、ENAME(员工姓名)、JOB(职位)、MGR(上司编号)、 HIREDATE(入职日期)、SAL(薪水)、COMM(提成)、DEPTNO(部门编号)
dept表包含:DEPTNO(部门编号)、DNAME(部门名称)、LOC(坐标位置)
实训目的:
1、了解客户端连接数据库的方法
2、掌握在客户端编写及运行SQL脚本的方法
3、掌握自定义变量&符号的应用
实训步骤:
1、利用客户端连接oracle数据库
使用sqlplus输入用户名:s224201106@sorcl
口令:s224201106
2、使用客户端查询员工及部门信息
设置cmd的显示界面大小
set linesize 160;
set pagesize 100;
select * from emp;
(将终端最大化查看表格是否如图,若仍未设置好表格大小,右键终端顶部在“启动大小”设置页面)
查询所有员工信息
prompt 1.查询所有员工信息 --prompt是一个命令只能在sqlplus中用,类似exit在终端使用
select *
from emp;
查询所有部门信息
prompt 2.查询所有部门信息
select *
from dept;
查询ALLEN所在部门名称
prompt 3.查询ALLEN所在部门名称
select ename,dname
from dept,emp
where dept.deptno=emp.deptno
and ename='ALLEN';
使用&替换变量
ps:&输入也只能在sqlplus用、使用大写转换(upper),小写转换(lower)是为了不区分大小写
prompt 4.使用'&'替换变量
select ename,dname
from dept,emp
where dept.deptno=emp.deptno
and lower(ename)=lower( '&empname' );
使用常用的命令进行操作
利用describe命令查看dept表的表结构,例如:
desc dept
使用&替换变量,详见附加内容1
编写及运行SQL脚本
方法一:利用SQLPLUS编写一段查询脚本,使用SQL方法见实训1
方法二:利用记事本编写一段查询脚本,并利用SQLPLUS中的命令运行脚本
@"D:\Database_classwork\实训报告2:Oracle客户端软件的使用.sql" --储存脚本的位置
保存脚本时切记三点!!!
1.脚本后缀为:.sql
2.要连同脚本名和后缀名加上引号,防止系统自动在.sql后加上.txt
3.左下编码改为:ANSI,防止终端不能识别记事本中的中文
附加内容:
写出以下查询语句
- 列出薪水在2500以上的所有员工的信息
select *
from emp
where sal>&mysal;
2.列出薪水在2500以上的所有员工的姓名及部门名称
select ename,dname
from emp,dept
where sal>2500
and dept.deptno=emp.deptno;
3.列出总收入在2500以上的所有员工的信息
select ename,dname
from emp,dept
where nvl(sal,0)+nvl(comm,0)>2500;
这里如果sal或comm列存在null值,则需要用到nvl:
nvl是null value的缩写 ,即 对null值赋值为0
null的二元运算:10+null == null
4.列出总收入在2500以上的所有员工的姓名及部门名称
select ename,dname
from emp,dept
where nvl(sal,0)+nvl(comm,0)>2500
and dept.deptno=emp.deptno;
5.查出各部门的名称、总人数及总月薪
select dname,count(empno) empCount,sum(sal) totalSalary
from emp,dept
where dept.deptno=emp.deptno
group by dname;
6.查出在芝加哥上班的所有员工的姓名
select dname,loc,ename
from emp,dept
where dept.deptno=emp.deptno
and upper(loc)=upper('CHICAGO');