Oracle数据库之select基础查询练习笔记

select *from user_tables;
select *from emp;
select *from dept;
----select 基础
select *from emp; --不推荐使用,两个原因:*是需要解析的  需求多数情况下不需要查询所有的数据
select empno,ename,job,mgr from emp;
select empno,ename from emp p;--表的别名
select p.empno,p.ename from emp p;
select p.empno as 雇员编号,p.ename as 雇员名称 from emp p;--z列的别名
select p.empno 编号,p.ename 名称 from emp p;
--查询所有的雇员信息,显示雇员信息和税额信息,
select empno,ename,job,mgr,hiredate,sal,comm,deptno ,p.sal*0.3 税额 from emp p;
--添加一列实际收入
select empno,ename,job,mgr,hiredate,sal,comm,deptno ,p.sal*0.3 税额 ,p.sal-p.sal*0.3 实际收入  from emp p;
--查询雇员的编号,名称(名称-部门编号)
select empno 人员编号,ename ||'-'|| deptno 人员信息 from emp;
--where语句 筛选条件  表达式结果逻辑上如果返回false,这个记录就被筛选掉
select *from emp p where deptno=20;
select *from emp p where deptno!=20;
select *from emp p where deptno<>20;
select *from emp p where deptno=30 or deptno=20;
select *from emp p where deptno in(20,30);
select *from emp p where deptno not in(20,30);
--between 查询一下雇员信息,薪水在3000到5000之间的人
select *from emp p where p.sal between 3000 and 5000;
select *from emp p where p.sal >=3000 and p.sal<=5000;
--查询一下入职时间在81年到85 年之间的人
select *from emp p where p.hiredate between date '1981-01-01' and date '1985-12-31';
select *
  from emp p
 where p.hiredate >= to_date('1981-01-01', 'yyyy-mm-dd')
   and p.hiredate <= to_date('1986-01-01', 'yyyy-mm-dd');
--distinct去掉重复的记录
select distinct job from emp p where p.sal between 3000 and 5000;
select distinct job ,ename from emp p where p.sal between 3000 and 5000;
--is null 
select *from emp p where p.comm is not null; 
--Oracle把空串都默认转换成null了,Mysal特殊''和null是两回事儿
select *from emp p where p.comm =''; 
select *from emp p where p.comm !=''; 
--order by排序 --desc是降序,osc是升序,升序是默认的
select *from emp p where p.deptno in (20,30) order by sal desc
select *from emp p where p.deptno in (20,30) order by sal desc,p.hiredate desc
--like 模糊查询
select *from emp p where p.ename like 'A%';--右模糊(推荐查询 相对较快,因为可以用到索引)
select *from emp p where p.ename like '%N';--左模糊
select *from emp p where p.ename like '%A%';--全模糊
--模糊查询另外一个通配符 _ 匹配一个
select *from emp p where p.ename like '_L%';
--查询一下当前时间,查询一下101*123
select sysdate from dual;
--select sysdate Oracle不允许出现不完整的SQL语句 包括select from
--dual是一个特殊的表,是完成了一个完整SQL语义的语义表
select 101*123 FROM DUAL;
select 1 FROM DUAL;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值