|
select 语句 :作用:查询数据 1:distinct :消除重复行,有多条重复数据就只会显示一条
语法: select [distinct] {*|(列名1,列名2...)} from table;
* : 所有的列
样例: (1)查询s_dept表中的所有信息 eg:
select * from s_dept;
(2)查询s_emp表中的last_name,salary eg:
SeleCT LAst_NaME,Salary from S_emP;
(3)查看s_emp表id,last_name,salary字段信息(列) eg:
select id,salary from s_emp;
(5) 查询所有部门名 eg: select name from s_dept; (5.1) 去除重复的行
select distinct name from s_dept;
2,起别名:给某一个列 起别名 语法: select 列1 as 新列名字,列2 as 新列名字... from 表 a.使用as
b.空格后直接跟别名 select 列1 别名1,列2 别名2... from 表
c.使用双引号区分大小写
3,算术运算符 + - * /
查询出来的列是可以运算的
当月工资 加 100;
eg:查询 s_emp 中last_name 列和年薪
4,nvl(参数一,参数二):空值函数 参数一 : 可能为空的列, 参数二 : 如果参数一的列为空 就使用参数二的值代替
单纯查工资和提成: egs: select salary,commission_pct from s_emp;
eg: 查询当月工资: 使用nvl空值函数 进行操作
select salary*(1+ nvl(commission_pct,0) ) from s_emp
5,连接符||:可以将多个字符串或者多个字符串列的值进行拼接 作用:可以将多个列的值或者字符串进行拼接 注意:oracle中字符串使用的是单引号 oracle中单引号表示字符串. 语法: select 列||‘你好‘ from s_emp;
eg:1字符串拼接: hello world
select ‘hello‘||‘world‘ from dual;
?
dual表:哑表-->同义词 任何用户都可以使用, 一般使用做测试.
eg:2字符串拼接列: 姓:last_name
eg:3列拼接列: 名:三 姓 :张
sqlplus 命令特点:
运送sql语句) 把sql语句的结果集展示
: 缓存机制: 1.1:sqlplus会保存最近执行过的一条sql语句(可能是多行) 1.2:每次执行的sql语句都会保存在buffer中,但是会覆盖掉之前的sql语句 :命令 l : 显示刚才执行过的sql语句,并且写到缓存中。 语法: l :命令 / : 执行缓存中的sql语句 语法: / 4 :命令 n : 直接输入一个数字 就是选中某一行--->下面用到的[定位]。 语法: n :命令 a[ppend] : 在【定位】的那一行后面追加新的内容 语法: 先定位 a 被追加的字符串
6 :命令 c[hange] : 在【定位】的那一行修改指定的字符串内容 语法: 先定位 c /old/new
:命令 cl[ear] buff[er] : 清除缓存区中的sql语句 语法: cl buff 或 clear buffer
:命令 del : 删除【定位】的那一行 语法: 先定位 del
9 :命令 i[nput] : 在【定位】的那一行的后一行插入新的一行 语法: 先定位 i 把字符串插入下面一行
0 :命令 l[ist] n : 显示第n行内容 语法: l 4 显示第4行内容
11 :命令 n sql语句 : 重写那一行 语法: 2 from s_dept; //重写第二行
总结: 1,需要已经执行过一条sql语句。就是sqlplus缓存中有一条sql语句 2,需要先选中有问题的那一行, 输入n 定位某一行 3,使用下面相应的关键字 操作
2 :命令 SAVE filename : 将缓存中sql语句保存到本地文件 语法: SAVE 文件名 默认位置:C:UsersAdministrator 3 :命令 GET filename : 将文件中sql语句加载到缓存中,但是不执行sql语句 语法: get 文件名
4 :命令 START filename : 将文件中sql语句加载到缓存中,并且执行sql语句 语法: start 文件全路径+文件名
5 :命令 @ filename : 将文件中sql语句加载到缓存中,并且执行sql语句 语法: @ 文件全路径+文件名
6 :命令 edit filename : 以记事本形式打开文件,编辑sql语句,Ctrl+s保存,关闭。 语法: edit 文件全路径+文件名
7 :命令 ed : 将缓存中sql写到文件afiedt.buf并且打开文件 语法: ed
8 :命令 spool filename : 开始保存 sqlplus输入的任何结果,(录控制台) 语法: spool startPlus.text
9 :命令 spool off : 结束 语法: spool off
注意:spool 和spool off必须要一起使用 作用:记录sqlplus中sql操作
20: :命令 col [{column] [option] : 修改列在sqlplus中的显示格式(样式) option : 取值: cle for hea jus 语法: col name for a15;//修改name列在sqlplus显示的长度为15 20.1:for操作字符串和日期:col 列名 for a12; 把这一列的长度定成12字符
20.2:for操作数字类型: col 列名 for 占位符; 补充: 占位符,用来占数字的位置 1) 9 :不强制补全,就是数字占位符一个9占一个数字位,如果数据数字长度大于9占位符长度就还会显示###, col salary for 99999 就是这一列变成5个长度,因为用了5个9来占位 2) 0 :强制补全 col salary for 00099 就是这一列变成5个长度,因为用了三个0个两个9来占位,但是0是自动补全的,所有会在前面补0直到满足5个长度 3) $ :西方的货币符号 货币符号在一列数据中只能出现一个 col salary for $9999 就是用四个9占位,但是在显示的时候回在前面加一个$号 col salary for $0000 4) L :本地货币符号 同上,但是加的是本地的货币符号 5) . :小数点 就是小数点的意思 col salary for 9999.9999 就是一个四位数精确到小数点后四位。
6),:分隔符 col salary for 9,999.99 在那个地方输出一个,号 20.3: col cle : 清除某一个列的格式 语法: col name cle
20.3: clear columns : 清除所有列的格式
使用: L : 查看缓存sql / : 执行缓存sql n sql : 重写缓存第n行的sql语句 c /old/new : 替换当前选中行的值 save 文件名 : 把缓存中是sql保存到某一个文件 get 文件名 @ 文件名 start 文件名 -----------------------------day1------------------------------ 排序 Order by 1,语法:order by 列名 排序,列名 排序; 升序:asc 如果不写 默认为asc 降序:desc eg:
select id,salary,commission_pct from s_emp order by commission_pct;
null 最大 2,特点: 2.1 : order by放在select语句最后一行,最后,最后,最后 2.2 : 默认升序(asc),降序(desc) 2.3 : order by后面可以跟列名、别名、select后面字段名的序号
不写排序规则就是默认升序排序 eg: select id s_id,salary a from s_emp order by s_id;
显示升序排序 eg:
显示降序排序 eg:
select id,commission_pct from s_emp order by commission_pct desc; 字符串排序是按照ASCII值排序 eg:
按照多个列排序 eg: select id,salary from s_emp order by salary desc,id;
?
注意:如果按照多个列进行排序,多个列之间逗号隔开,先按照第一个列的值进行排序,如果第一个列的值相同,那么会按照第二个列的值进行排序。.......以此类推
按照commission_pct进行排序 select last_name,commission_pct from s_emp order by commission_pct asc; 2.4 : null 表示无限大 (编辑:网站开发网_盐城站长网 )
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|