Oracle运算符、别名、连接符、去重、排序、简单筛选

        第一节课:sql语言介绍(参照PPT)及基本查询sql学习
				1、数据库表的介绍
					emp表:员工表
					dept表:部门表
					salgrady:薪资水平表
					Balance:
				2、基本的查询语句:
				    知识点:
						select * from 表名  查询表中所有的数据
						select 字段名1,字段名2,..from 表名 查询指定字段的所有值,不同字段之间使用逗号隔开
						使用算术表达式:select 字段名(运算符),字段名(运算符)...from 表名
					案例:
						select * from emp---查询所有员工信息
						select ename,job,sal from emp--查询员工姓名,工作,薪资
						
						查询所有员工一年的工资,以及每位员工年终3000后的所有薪资(不包括津贴)
						select ename,job,sal*12,sal*12+3000 from emp  使用运算符
			第二节课:		
				1、使用别名
				as可以省略不写,如果有特殊字符获取空格使用双引号添加别名
				
				select ename 姓名,job 工作,sal*12 年资,sal*12+3000 年薪 from emp  		直接在字段后面添加别名
				select ename "姓名",job 工作,sal*12 ’年资’,sal*12+3000 年薪 from emp  	使用双引号添加别名,不能使用单引号
				select ename as 姓名,job "工作",sal*12 年资,sal*12+3000 年薪 from emp  	使用as关键字添加别名
				select ename "姓  名",job 工作,sal*12 年资,sal*12+3000 年薪 from emp  	如果别名中有空格或者其他特殊字符,使用双引号

				2、使用链接符:
					select ename,job,sal from emp;
					select ename||job,sal from emp;  使用||符号进行字符链接
					select ename||'  的工作是  '||job||'  并且月工资是  '||sal from emp;  字符链接,普通字符使用单引号
				3、去除重复 distinct
					select * from emp;
					select job from emp--发现工作是重复的,而工作种类是需要去除重复的
					
					问题:查看员工工作种类
					select distinct job from emp  使用distinct关键字去除重复值
					问题;怎么多字段去除重复
					select distinct job,sal from emp;  多字段去除重复,去除的是重复的一整条信息
				4、排序
					知识点:
						select 字段名,字段名...from 表名 order by 字段名
						select *from 表名 order by 字段名
					讲解:
					--查询员工姓名,工作,薪资
					select ename,job,sal from emp
					--查询按照薪资排序的员工姓名,工作,薪资				
					select ename,job,sal from emp order by sal;  使用order by排序
					
					select ename,job,sal from emp order by sal desc;  	使用desc关键从大到小排序
					select ename,job,sal from emp order by sal asc;  	使用asc关键从小到大排序,默认是从小到大排序
					select * from emp order by sal,ename  				多字段作为排序条件的时候,优先按照第一个字段排序,然后依次按照其他字段排序。
					select ename,job,sal 工资 from emp order by 工资  	使用别名
					select ename,job,sal from emp order by sal*12  		使用算术表达式
			
			第三节课:简单的where子句
				使用where条件进行结果筛选
				语法:select * from 表名 where 条件;注意:条件中字段值区分大小写,字段名不区分大小写,字段值使用单引号括起来
					1、在where中使用算术表达式 = ,< , > ,>= ,<= ,<>
					2、使用order by 对筛选结果进行排序,order by 出现在where后面
				
				
				查看工资等于1250的员工信息
					select * from emp where sal='1250'--筛选条件是个数字也可以使用单引号
				查看工作等于CLERK的员工信息
					select * from emp where job='CLERK'--在筛选条件中字段值如果是字符需要加上单引号
					select * from emp where job='clerk'--在sql语句中字段的值是区分大小写的
					select * from emp where JOB='CLERK'--在sql中字段是不区分大小写的
				查看工资大于1250的员工姓名和工作
					select ename,job ,sal from emp   where sal>'1250' order by sal--使用order by 对筛选结果进行排序,order by 出现在where后面
				查看工资大于等于2000的员工信息
					select * from emp where sal>=2000;
				查看工资小于等于2000的员工信息;
					select * from emp where sal<=2000
				查看工资不等于1500的员工信息
					select * from emp where sal<>1500 order by sal
				查看入职日期在81年后的员工信息
					select * from emp where hiredate>'1981年12月31号'
					select * from emp where hiredate>'1981/12/31'
					select * from emp where hiredate>'31-12月-1981'--使用日期的默认格式查询符合要求的数据,日-月-年
			
			第四节课:where子句使用关键字
				使用where子句进行结果的筛选
				
				知识点:where查询条件中使用关键字
					1、and 用于多条件的与筛选:select * from 表名 where 条件 and 条件 and 条件....
					2、or 用于多条件的或筛选: select * from 表名 where 条件 or 条件 or 条件....
					3、in 用于多条件的或筛选: select * from 表名 where 字段名 in(值,值,值....)
					4、like 和 not like 用于模糊查询:      select * from 表名 where 字段名 like / not like '%值%' 包含 /不包含
					5、is null 和is not null 用来判断字段是否为空  select * from 表名 where 字段名 is null 
			   
			   讲解: 在where子句中使用关键字
					--查询工资在2000-3000之间的员工信息
					select * from emp where sal>=2000 and sal<=3000--使用and关键字进行"与"的多条件筛选;
					select * from emp where sal between 2000 and 3000;--使用between and 关键字进行筛选;
					--查询工作为SALESMAN,ANALYST,MANAGER的员工信息
					select  * from emp where job='SALESMAN' or job='ANALYST' or job='MANAGER'--使用or关键字进行"或"的多条件筛选
					select * from emp where job in('SALESMAN','ANALYST','MANAGER');--使用in关键字进行"或"的多条件筛选
					select  * from emp where job='ANALYST'
					--查询姓名中包含s的,以s开头的,以s结尾的,第二个字符为A的。
					select * from emp where ename like '%S%';--使用like关键字,姓名中包含S的,%代表任意多个字符
					select * from emp where ename like 'S%';--使用like关键字,以S开头的
					select * from emp where ename like '%S';--以S结尾的
					select * from emp where ename like '_A%'--使用"_"指定位置包含指定字符的信息,"_"代表任意一个字符
					--------------查询名字中包含下划线的用户信息
					select * from emp where ename like '%A_%'escape 'A';--使用escape关键字将普通字符设置成为转译字符。
					--查询有津贴的员工信息
					select * from emp where comm is not null;
					select * from emp where comm is null;--查询没有津贴的员工信息
				
				
				
			

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值