orcal (二)

本文介绍了SQL相关知识,包括nvl函数、连接字符串、模糊查询like、where in查询、聚合函数用法、数据分组规则、取别名以及合并查询等内容。详细说明了各操作的使用方法、注意事项,如聚合函数使用时列的搭配要求,数据分组时子句顺序等。

1:nvl 函数

	格式为:nvl(string1, replace_with)   

	功能:如果string1为null,则nvl函数返回replace_with的值,否则返回string1的值。  

	注意事项:string1和replace_with必须为同一数据类型,除非显示的使用to_char函数。  

2:连接字符串

连接字符串(||)   select ename || ' is a ' || job from emp;

3:模糊查询 like

like 'A%' :查询首字母为A的

like '_a%' :查询第二个字母为A的,若前面有多个则表示为多个_

4:where in

查询某个字段在条件内:where 列名 in(条件1,条件2,...)

//in不能用= 代替:=表示为一对一

5:聚合函数用法:max,min,avg,sum,count 

错误写法:select ename, sal from emp where sal=max(sal);

正确写法:select ename, sal from emp where sal=(select max(sal) from emp);

注意:select ename, max(sal) from emp;这语句执行的时候会报错,说ora-00937:非单组分组函数。因为max是分组函数,而ename不是分组函数.......

但是select min(sal), max(sal) from emp;这句是可以执行的。因为min和max都是分组函数,就是说:如果列里面有一个分组函数,其它的都必须是分组函数,否则就出错。

6:数据分组

  •  分组函数只能出现在选择列表、having、order by子句中(不能出现在where中)
  • 如果在select语句中同时包含有group by, having, order by 那么它们的顺序是group by, having, order by
  • 在选择列中如果有列、表达式和分组函数,那么这些列和表达式必须有一个出现在group by 子句中,否则就会出错。

注:第三个的意思:

select 列名1,列名2 from 表名 group by  列名1    //列名1,2 中必须有一个在group by中

7:取别名

from 原表名  别名  //给表取别名不能加as ,给列名可以加as

8:合并查询

union 该操作符用于取得两个结果集的并集。当使用该操作符时,会自动去掉结果集中重复行。

union all 该操作符与union相似,但是它不会取消重复行,而且不会排序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值