否则PLSQL客户端使用的编码和服务器端编码不一致,插入中文时就会出现乱码.
3、设置环境变量
计算机->属性->高级系统设置->环境变量->新建
设置变量名:NLS_LANG,变量值:第1步查到的值, 我的是AMERICAN_AMERICA.ZHS16GBK
4、重新启动PLSQL,插入数据正常
5、别名查询的时候不能有特殊字符或者关键字
select ename 姓 名,sal 工资 from emp;
select ename 姓%名,sal 工资 from emp;
需要在汉字外加上""
select ename “姓 名”,sal 工资 from emp;
查询成功
1、单列去除重复数据
(1)查询emp表当中的job列有重复数据
(2)在对应列前面加distinct关键字
select distinct job from emp;
2、多列去除重复数据
(1)同时查询job列和deptno列有重复数据
select job,deptno from emp;
(2)在对应多列前面加distinct关键字:去除重复数据
select distinct job,deptno from emp;
加法运算
select 1+1 from dual;
select ename,12*sal 年薪 from emp;
1、注意:当加空(null)的项的时候所有对应的内容都会为空
null代表不确定 不可预知的内容,不可以做四则运算
select ename,12*sal+comm from emp;
2、解决方法:需要在有null向的列上使用nvl函数:参数1为null,就返回参数2
如果返回值当中有null则设为0
select ename,12*sal+nvl(comm,0) from emp;
Java当中+号拼接
Oracle当中使用||拼接
mysql当中使用拼接需要使用函数concat(str1,str2)函数,这个函数在mysql当中和oracle当中都有
1、查询员工姓名: 姓名:SCOTT
在oracle
双引号是用来起别名
这里使用的是单引号,单引号当中引起来的是字符
select ‘姓名:’ || ename from emp;
2、使用函数拼接concat()
在mysql当中可以使用在oracle当中也可以使用
select concat(‘姓名:’,ename) from emp;
1、关系运算符: > >= < <= != <>
2、逻辑运算符: and or not
3、其他运算符:
like : 模糊运算符
in(set) :在某个集合内
between..and.. :在某个区间内
is null :判断为空
is not null :判断不为空
1、查询每月能得到奖金的员工信息
select * from emp where comm is not null;
2、查询工资在1500–3000之间的员工信息
查询对应条件的信息
select * from emp where sal >= 1500 and sal <= 3000;
select * from emp where sal between 1500 and 3000;
3、查询名字在某个范围的员工信息
select * from emp where ename in (‘JONES’,‘SCOTT’,‘FORD’);
like
%匹配多个字符
_ 匹配单个字符
1、查询员工姓名第三个字符是o的员工信息
select * from emp where ename like ‘__O%’;
2、查询员工姓名中,包含%的员工信息
(1)修改信息设置带有%的信息
update emp set ename = ‘TUR%NET’ where ename = ‘TURNER’;
(2)查询员工姓名中,包含%的员工信息
如果模糊查询的时候有特殊字符则需要使用escape转意
escape告诉oracle后面在字符是转意字符
select * from emp where ename like ‘%%%’ escape ‘’;
升序asc
: ascend
降序desc
: descend
1、查询员工信息,按照奖金由高到低排序
select * from emp order by comm desc;
- 排序注意空值问题:设置空值不排在前面,将空值排序到后面
nulls last或者first
最后,附一张自己面试前准备的脑图:
面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典
- Java核心知识整理
- Spring全家桶(实战系列)
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
最后祝愿各位身体健康,顺利拿到心仪的offer!
…(img-6bruq4Sh-1714435643309)]
面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典
- Java核心知识整理
[外链图片转存中…(img-epPUpfHZ-1714435643309)]
- Spring全家桶(实战系列)
[外链图片转存中…(img-ayxoci7M-1714435643310)]
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
[外链图片转存中…(img-Lfm84yFR-1714435643310)]
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
最后祝愿各位身体健康,顺利拿到心仪的offer!