Oracle学习(一)

Oracle学习(一)

主要学习了基本的select语句、过滤与排序、单行函数、分组函数和多表查询

基本的select语句

查看当前用户

show user;

当前用户下的表

select * from tab;

查看员工表的结构

desc emp;

查询所有的员工信息

select * from emp;

设置显示的行宽和列宽

show linesize;--显示行宽
set linesize 120;--设置行宽为120
col ename for a8;--设置ename列宽度为a8
col sal for 9999;--设置sal列宽度为9999

通过列名显示查询

select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp;

查询员工信息:员工号 姓名 月薪 年薪

select empno,ename,sal,sal*12 from emp;

查询员工信息:员工号 姓名 月薪 年薪 奖金 年收入

--comm可能为空,不能与其他数直接相加
--滤空函数nvl,相当于mysql中的ifnull函数
select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0) from emp;

查询奖金为null的员工

--切记:条件不能用comm = null
select * from emp where comm is null;

取别名,以下为错误示例

--as可有可无。但别名强烈建议用双引号括起来!!!若没有双引号,别名中间不能有空格或者查询关键词,如:月    薪、月select薪 等等都是错误的
select empno as "员工号",ename "姓名",sal 月    薪,sal*12,comm,sal*12+nvl(comm,0);

distinct 去掉重复记录

--作用于deptno列
select distinct deptno from emp;
--作用于deptno,job这两列
select distinct deptno,job from emp;

连接符 ||、concat函数,效果是一样的

--dual是伪表
select 'Hello'||'  World' as "字符串" from dual;
select concat('Hello','  World') as "字符串" from dual;

查询员工信息:xxx的薪水是xxx

select ename||'的薪水是'||sal 信息 from emp;

过滤与排序

查询10号部门的员工

select * from emp where deptno=10;

查询名叫KING的员工

--加了引号后,就是字符串,其大小写敏感
select * from emp where ename='KING'

查询入职日期是17-11月-81的员工,默认的日期格式为DD-MON-RR

select * from emp where hiredate='17-11月-81';

修改日期格式

--查看当前的日期格式
select * from v$nls_parameters;
--session当前会话有效 ,system全局有效
alter session set NLS_DATE_FORMAT='yyyy-mm-dd';

再次查询入职日期是1981-11-17的员工

select * from emp where hiredate='1981-11-17';

查询薪水1000~2000之间的员工

--between and: 1.含有边界  2.小值在前 大值在后
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值