sql dos连接oracle,oracle中常用的sql语句以及使用sqlplus,dos,plsql操作数据库

1,通过ie访问数据库

地址:http://127.0.0.1:5560/isqlplus/

其中127.0.0.1表示是本机地址,要访问别的地址只需写上需要的ip即可

2,通过sqlplus访问数据库,通过dos命令行输入sqlplus再根据提示输入用户名密码访问数据库。

命令行:sqlplus sys/bjsxt as sysdba回车进入数据库

alter user Scott account unlock;回车,用于更改用户。

exit退出

继续输入sqlplus scott/tiger回车登陆

varchar2支持国际化类型,varchar不支持。

获取当前系统时间

select sysdate from dual;

取得年薪

select ename,sal*12 "anu sal" from emp;

连接字符串

select ename ||comm from emp;

或者select ename||'abcdef' from emp;

如果连接的字符串内有一个单引号那么就用两个单引号代替一个单引号

select distinct deptno,job from emp;

distinct把deptno和job的组合有重复的给去掉。

select * from emp where sal<>5000;

使用模糊查询的时候:%代表0个或多个字母,如果选择的字段中有% 需要用转移字符\,其中下划线_代表一个字母。

也可以用别的符号作为转义字符

select ename from emp where ename like '%$%%' escape

'$';这是自己指定的转义字符。

select * from emp order by deptno asc, ename desc;

选择第二个字母是A或者a的名称;

select ename from emp where lower(ename) like '_a%';

select ename from emp where ename like '_a%' or ename

like '_A%';

把数字转换成字母select chr(65) from dual;

把字母转换成数字select asci('A') from dual;

四舍五入

select round(25.632) from dual;四舍五入到个位

select round(25.632,2) from dual;四舍五入到小数点后两位。

select round(25.632,-1) from dual;四舍五入到十位。

千位分隔符

select to_char(sal, '$99,999.9999') from

emp;

关于日期

select to_char(hiredate,'YYYY-MM-DD HH:MI:SS') from emp;

HH表示12进制,HH24表示24小时。

取出日期在某个时间之前的数据

select ename,hiredate from emp where hiredate>to_date('1981-2-20

12:34:56','YYYY-MM-DD HH24:MI:SS');

转变成数字的函数

select sal from emp where sal >

to_number('$1,250.00','$9,999.00');

处理空值的函数

处理空值null

select ename,sal*12+nvl(comm,0) from emp;

select to_char(avg(sal),'99999999.99') from emp;

或者select round(avg(sal),2) from emp;

查找有多少个唯一的部门编号

select count(distinct deptno) from emp;

每个部门的平均薪水 select avg(sal) from emp group by deptno;

或者 select deptno,avg(sal) from emp group by deptno;

select deptno,job,max(sal) from emp group by deptno,job;

求每个部门的最高工资

select deptno,max(sal) from emp group by

deptno;

求每个部门的平均工资

select deptno,avg(sal) from emp group by

deptno;

having的用法

使用having对分组进行限制

求出平均值大于2000的部门和平均薪水

select avg(sal),deptno from emp group by deptno

having avg(sal)>2000;

薪水大于1200的按照部门分组,平均薪水值大于1500降序排列

select avg(sal)

from emp

where sal>1200

group by deptno

having avg(sal)>1500

order by avg(sal) desc;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值