一、简单的select语句
select语句:
SELECT [DISTINCT] {*,column [alias],....}
FROM table;
(1)查看s_dept的所有列信息
select * from s_dept;
(2)查看s_emp表中的last_name,salary
select last_name,salary
from s_emp;
(3)查看s_dept中有哪些部门和区域id?
select distinct name,region_id
from s_dept;
起别名:
a.在列名后面空格加别名,多个列之间用逗号隔开
select last_name name,salary sal
from s_emp;
b.使用as
select last_name as name,salary as sal from s_emp;
c.使用双引号区分别名大小写
select last_name "Name",salary "sAl"
from s_emp;
二、使用算术运算符进行简单的select查询
+ - * /
(1)查询s_emp表中last_name,年薪
select last_name,salary*12
from s_emp;
(2)查询s_emp表中last_name,年薪(分红10000)
select last_name,salary*12+10000 sal
from s_emp;
(3)查询s_emp表中last_name,年薪(算上提成)
select last_name,(salary+salary*commission_pct)*12 com
from s_emp;
nvl函数:处理表中某些列存在空值的情况 null
nvl(参数1,参数2)
参数1:可能出现null值得列
参数2:如果该列的值是null,那么其取值为参数2
nvl(commission_pct,0)
select last_name,(salary+salary*nvl(commission_pct,0))*12
from s_emp;
三、sqlplus缓存机制的特点
(1)只保存最近执行的一条sql语句(可以是多行)
(2)每次执行的sql语句都会加载到缓存中,并且会将之前的sql语句覆盖掉
l:显示缓存中的sql语句
/:执行缓存中的sql语句
n:定位到哪一行
a:在定位的那一行追加新内容 如定位到第二行 from s_emp 此时输入命令 a ,s_dept确定,则第二行命令变为from s_emp,s_dept
c:在定位的那一行修改指定的字符串 命令为:c /s_dept/s_region
cl buff:清除buffer中的sql语句
del:删除定位的那一行内容
i:在定位的那一行后面插入新的一行
l n:显示指定行的内容
n sql:重写那一行 命令为:2 from s_emp
四、sql语句缓存
save filename:将缓存中的sql语句保存到本地文件 命令为:save f:/sql.txt
get filename:将文件中的sql语句加载到buffer,但是不执行sql语句
start filename:将文件中的sql语句加载到buffer,并且执行sql语句
edit filename:以记事本形式打开文件,编辑sql语句,ctrl+s 关闭
spool filename
......
...... spool off
记录在sqlplus中sql语句的执行过程,可以将屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。直到执行了spool off,就关闭了spool输出,才会在输出文件中看到输出的内容。
col语句:设置当前会话中某个字段的长度(只适用于字符串列或者日期列,数字列不适用)
col first_name for a12 将first_name列的显示长度设为12
清除指定列的格式:col 列名|别名 clear
设置数字列的格式:9:不强制补全
0:强制补全
$:西方货币符号
L:本地货币符号
.:小数点
,:分隔符
heading设置:
col last_name heading "haha"
col last_name heading "haha" for a15
设置居(center,right,left)(只是头部居了,查询出的内容位置没变)
col salary jus left