本例的操作前期都在控制台完成,后期会使用客户端。
1 SQL> --设置行宽 2 SQL> show linesize 3 linesize 80 4 SQL> set linesize 150 5 SQL> --设置列宽 6 SQL> col ename format a8 7 SQL> col sal for 9999 8 //col是column的缩写,代表列,在sqlplus中比sql方便的是支持缩写 9 //for是format的缩写, 10 //a代表一个符号位,8代表长度 11 //9代表一个数字符号位,9999代表该列的列宽为4个数字长度
1 SQL> --查询员工信息:员工号 姓名 月薪 年薪 奖金 年收入 2 SQL> select empno,ename,sal,sal*12,comm,sal*12+comm 3 //可以直接在语句中进行计算
1 /* 2 SQL> SQL中的null值: 3 SQL> 1. 包含null的表达式都为null 4 SQL> 2. null永远!=null 5 SQL> *、 6 SQL> */ 7 SQL> select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0) 8 在实际使用的过程中,如果 某个表达式包含空值,那么这个表达式的结果也为null; 9 不能通过=号来判断数据是否为空,应该用is 10 错误: where comm=null; 11 正确:where comm is null;
1 NVL(a,b) 2 nvl函数表示如果a为空,那么取值为b,不为空,取原值。 3 例如: 4 SQL> select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0) 5 2 from emp; 6 拓展: 7 SQL> ed 8 使用默认的记事本软件打开上一条sql语句进行编辑 9 保存关闭后 10 SQL> / 11 使用/来执行保存的语句,也就是执行上一条语句
1 去除重复 2 SQL> --distinct 去掉重复记录 3 SQL> select deptno from emp;有重复 4 SQL> select distinct deptno from emp;没有重复 5 去重两个作用与两个列 6 SQL> select distinct deptno,job from emp; 7 上一行的语句意思是:去除部门号和职位都相同的数据 8
1 SQL> --连接符 || 2 SQL> -- concat 3 SQL> select concat(‘Hello‘,‘ World‘) from dual; 4 CONCAT(‘HELL 5 ------------ 6 Hello World 7 SQL> --dual表:伪表 8 dual是数据库提供的伪表,要查询的操作不属于任何的表时,就需要使用此表进行占位。 9 SQL> select 3+2 from dual; 10 3+2 11 ---------- 12 5 SQL> select ‘Hello‘||‘ World‘ 字符串 from dual; 13 字符串 14 ------------ 15 Hello World 16 SQL> --查询员工信息:***的薪水是**** 17 SQL> select ename||‘的薪水是‘||sal 信息 from emp; 18 信息 19 ---------------------------------------------------------- 20 SMITH的薪水是800
时间: 2024-10-12 22:24:41