excel问题:求相同合数的个数?

数据存储有哪些方式?电子表格,纸质文件,数据库。

那么究竟什么是关系型数据库?

目前对数据库的分类主要是关系型和非关系型两种,关系型的主要代表有oracle,db2,mysql,sqlserver等,非关系型数据库也称作nosql,

主要有mongodb,hbase等等。关系型数据库主要是以二维表的方式存数数据的,这是关系数据库最显著的特征,

Excel表格就是二维表,由行和列两个维度所组成,想想excel表格,你就会知道数据库里面的表是什么样子的,道理是一模一样的。

而非关系型数据库的数据组织方式就五花八门了,有星型的,网状的等等,他们都统称为非关系型数据库,也叫nosql。

关系型数据库需要一组操作符,实际上就是需要一套命令,或者说是语言,也就是我们现在要学习的sql,它是我们和数据库进行沟通的工具。

(1)包含4种类型语句:

大小写不敏感,但单引和双引内的大小写是敏感的.

关键字不能缩写select不能写成sel

列的别名含特殊字符用双引

可跨行,但不要将关键字和单引的内容跨行.

跨行是为了可读性,一般我们都把select子句和from子句分行写.

不要在自定义参数部分使用sql的关键字。

(1)整个学习SQL过程是使用SCOTT用户的表来学习的 默认scott是被锁定的 解锁的方法

原始状态下,这个用户是被锁定的,我们需要解锁这个用户

在以后的学习过程中 scott的表经常被修改 如果想将scott环境恢复默认 使用系统自带脚本即可

@是加载OS中的SQL保存文件

执行完脚本 会自动退出 重新登录 再对scott解锁即可

(2)一个完整的SQL命令叫语句(statement),每个关键字和后面跟着的选项叫子句(clause)

1.scott用户拥有哪些表?

如果屏幕显示的内容串行 是因为默认的显示的行长度是80字节 而选出的内容超出了80字节 可以修正一下

如果有多个列标题 是一页内行数默认14行 也可以修正

这个修改只是内存中的 可以将命令保存住到文件 实现永久配置

desc描述表的结构 所谓表的结构:就是表有多少列 列的名称和类型及约束(非空)

emp表(员工表)的结构介绍:

dept表(部门表)的结构介绍

SALGRADE表(薪水等级表)的结构介绍 三列都是数值型

4.在sql中使用算术表达式

先乘除后加减,同优先级自左至右

小括号提高优先级,多重括号则自内而外

5.在查询中为列命名别名

6.在别名中使用特殊字符 要用双引号

7.表别名 对emp表取了个简单别名e  这样就可以在引用表名时简化输入

同时也解决了星号和列同时出现的语法错误 别名的本质就是将非法的内容合法化

需要sysdba权限,静态参数,需要重启数据库生效

虚表 oracle自动创建的一张表 可以理解为是一张假想表 目的是为了使select语义完成

借助虚表 我们可以完成很多事

查看当前时间(OS时间)

等等...以后还有很多查询需要借助虚表完成.

WHERE是关键字 后面跟限制条件

条件由列名,字符串,算术表达式,常量和比较运算符组成;

oracle提供的比较运算符

字符串比较 字符串要加单引号 默认存储模式就是大写模式

先修改日期显示为我们习惯的格式 否则写系统默认的时间格式 DD-MON-RR

与 ==> 两端都为真 返回真 若有一端或两端为假则为假

或 ==> 若有一端或两端为真则为真 两端都为假 返回假

运算符的优先级不用记忆 想提高优先级加小括号即可

like 通配符: % 任意长度(包括零长度)通配符

部门名像 SAL开头的

任意一个字符后跟A之后任意字符串的名字

如果查询的字符串包含_或%字面字符串则需要转义

转义符号需要在子句中用escape指明

排序一定要放在sql语句的最后

排序格式化了输出 确给SQL执行增加了负担

order by中使用列号 列号必须是select子句中已经选择的列的顺序号

order by中使用多列 先按职位A-Z的顺序 再按年薪小到大的顺序

通俗的讲 任何东西,只要它能接收输入,对输入进行加工并产生输出,它就可以被称之为函数

例如:牛是函数,它吃的是草(输入),挤出的是奶(输出)

函数是一种程序设计结构,它可以有一个或多个输入,但只能有一个输出.

函数只有一个出口,使用函数组成的程序很容易调试,也很容易被重用

返回字符的ASCII码值

返回n的字符值 n是ASCII码数

但是求单引号的ASCII码写法很特殊 两个单引带表一个单引

每个词的词头大写 其他小写

将第一个字符串和第二个字符串连接

该合数与||功能一样,但是我们常用的是后者

返回指定子串,该子串是从第m个字符开始,其长度为n,不指定n值则从m到最后

返回字符串所占用的字节数

从表达式或列中搜索给定的字符串的所处位置,m代表从第几个字符开始搜,n代表要搜索的字符第几次出现. m和n默认都是1

从源字符串中去掉指定的字符 可以用leading tailing来修饰去掉的字符串是在开头或结尾,默认是两者都

默认截取的是空格,生产上有时候有的字段会产生空格,这个会给应用带来很大的麻烦,用这个函数就

可以很容易的,除去字段两头的空格,是非常实用的。

将不足20个字符的位置用指定符号填充.

从源字符串中找到搜索的old字符串,替换成new字符串

str 被转换的字符串

16:使用16进制方式显示

1016:把数据库当前字符集显示出来

E  S开始的后续结束字符位置

四舍五入到小数点后的n位

修改当前会话的日期显示格式

使用函数查看系统当前时间,这个时间来自于操作系统,数据库里面是不存储当前时间的

默认情况下,参与运算的单位是‘天’

如果想让小时参与运算,可以处以24

以此类推,分钟,秒都可以这样计算

计算两个日期间所相差的月份

日期1大于日期2返回正数,日期1小于日期2返回负数

从给定日期算起,下一个指定的星期几是几号

返回该日期的所在月的最后一天

我们修改一下日期显示的格式

数字的进位和截取是以小数点为中心,而日期的进位和截取是以年月日时分秒为中心

round 截取月份以16号为分割,16号及其以后的日期都入到下一个月

16号之前的日期都返回月初的日期

年的四舍五入要所输入的月份,六月及其以前的日期,都返回年初,六月之后的日期返回下一年年初

以周三中午12点为分界线,周三之前返回本周日的0:00,周三之后的日期,返回下周日的0:00

西方以周日为一周的开始

不同数据类型之间的转换

在赋值语句中数据类型会隐式转换,隐式转换应当尽量避免,因为写出来的SQL难理解,随着时间流逝自己都很难理解

特别是嵌入到大型程序中时,另外,oracle升级会修改隐式转换的规则,这会使程序移植遇到问题.

尤其是索引列不能使用隐式转换 那样就不走索引了

赋值语句中oracle的自动转换规则:

表达式中oracle的自动转换规则:

在将字符型数据转换成数字型时,要保证字符型数据为有效的数.

在将字符型数据转换成日期型时,要保证字符型数据为有效的日期.

以上例子中oracle自动将字符型的数据转换成了数值型

以上例子中oracle自动将自负类型转换为了日期类型

注意:不能直接转换的情况

数值型和日期型之间不能直接转换,必须将其中之一先转换为字符型,之后再转换为另一种类型

1.to_char(数字) 目的是将数字格式化货币显示格式

2.to_char(日期) 目的是将日期格式化需要的格式

to_number 不常用,因为数值可以直接输入

to_date  很常用,因为日期是不可以输入 只能转

将日期型数据转换成字变长字符串.fmt为日期格式

日期格式必须用单引号扩起来

以上例子中scott的入职日期被以各种维度显示出来了

将数字转换成变长字符串.fmt为数字格式

9 一个数字  给定的9个数不足 会显示#

to_char 还可以将10进制数转换成16进制数

这个数字格式体现的是前面字符串的格式

字符串一定要符合数字的格式

字符串一定要符合日期格式

简化输入的操作,必须使用yyyy-mm-dd格式,并且只能精确到天

是一个很特别的值,既不是0也不是空格.它的值是没有定义,不确定的未知值

比如一个案件的追踪表,警方在对犯罪分子一无所知,但在犯罪分子性别一栏不是男就是女,

就可以把性别栏设置为未知,当案件侦破到一定程度,警方知道了犯罪分子的性别,

既从未知变成了已知.也就是由NULL变成男或女

以上输出内容的奖金一列存在空值,如果我们统计总收入的话,那么就会出现下面的情况

奖金为null的员工最终的工资还是null,这是不合理的

想要找到奖金为null的员工信息,却没有任何结果

这是由null的特殊性决定的,null不参与运算,因此只能用is null来描述它

要使null能够参与运算,需要用函数来将null值进行转化,相关函数有

如果表达式1是NULL,则返回表达式2

如果表达式1非NULL,则返回表达式1

表达式1和表达式2可以是数字,字符串,日期格式,1和2的数据类型必须一致

空值的排序 升序会排在最后 降序排在最前

返回第一个非空的表达式

emp表中有奖金的展示奖金,没有奖金的展示工资

这个函数是返回一个表达式在各种可能取值的情况下的值

最终如果没有满足任何比对条件,则返回default值

按部分编号涨工资(只打印) 10号部门涨10% 20号部分涨20% 其他部分涨30%

case when 子句分为简单和搜索两种

简单的case when子句可以实现等值比较,与decode一样

搜索case when可以实现不等值的比较

是对一组或一批数据进行综合操作后返回一个结果

上面执行的聚集函数都是对所有记录统计,一次只返回一行记录

如果想分组统计(比如统计部门的平均值)需要使用group by

为了限制分组统计的结果需要使用having过滤

求出每个部门的平均工资

还可以按照给定字段进行排序

分组排序可以使用未被选择的列

如果在查询中使用了分组函数,任何不在分组函数中的列或表达式必须在group by子句中

和where子句不同,having子句是在分组计算完成后进行的过滤,而where

子句是在分组计算前做的过滤,where 条件里面只能出现单行处理函数,而having

4.如果选择的列里有普通列,表达式和分组列 那么普通列和表达式都必须出现在group by中

  • 5.多表查询 多表查询 目的:从多张表获取数据 前提:进行连接的多张表中有共同的列 等连接 通过两个表具有相同意义...

  • 美丽多情的草海 那一湾脉脉流淌的海水 那一片深情蕴藏的土地 是我可爱的家乡 美丽的草海 您没有西湖迤逦...

  • 文|浪浪于江湖 全目录|【我的青春在深圳】 上一章|我的青春在深圳(33) 飞瑶躺在床上默默流眼泪,桌上的电话一直...

  • 原文发表于:DNS 如何工作 上一篇文章(什么是 DNS)中,我们解释了 DNS 所涉及到的一些术语,接下来我们来...

  • 耳边的乒乒乓乓 这走调的昂扬 雨滴发怒的波浪 你不变的念想 撕裂的磁性清嗓 那破碎的情殇 白衬衫荡漾 你心亦飞翔 ...

[版权声明] 本站所有资料由用户提供并上传,若内容存在侵权,请联系邮箱。资料中的图片、字体、音乐等需版权方额外授权,请谨慎使用。网站中党政主题相关内容(国旗、国徽、党徽)仅限个人学习分享使用,禁止广告使用和商用。

Excel常用函数大全

一、输入三个“=”,回车,获得一条双曲线;

两、输入三个“~”,回车,取得一条波涛线;

三、输入三个“*”或“-”或“#”,回车,欣喜少多;

在单元格内输入=n o w()显示日期

主要功能:求出相应数字的尽对值。

参数道亮:n umb e r代表需请求相对值的数值或引用的单元格。

应用举例:如果在B2单元格中输入公式:=AB S(A2),则在A2单元格中不管输入反数(如100)仍是正数(如-100),B2中均显示出负数(如100)。

特别提醒:如果num be r参数不是数值,而是一些字符(如A等),则B2中返回对误值“#VAL UE!”。

主要功能:返回逻辑值:如果所有参数值均为逻辑“真(T RUE)”,则返回逻辑“真(T RUE)”,反之返回逻辑“假(FA L SE)”。

应用举例:在C5单元格输入公式:=A ND(A5>=60,B5>=60),确认。如果C5中归来T RUE,说明A5和B5中的数值均大于即是60,如果往回FAL S E,说明A5和B5中的数值最少有一个大于60。

特别提醒:如果指定的逻辑条件参数中包含非逻辑值时,则函数返回错误值“#VA L UE!”或“#NAM E”。

主要功能:求出所有参数的算术均匀值。

参数解释:n umb e r1,n umb e r2,……:需请求均匀值的数值或引用单元格(区域),参数不超出30个。

运用举例:在B8单元格中赢进公式:=AV E RA G E(B7:D7,F7:H7,7,8),确认后,即否供出B7至D7区域、F7至H7区域中的数值和7、8的均匀值。

特别提醒:如果引用区域中包含“0”值单元格,则计算在内;如果引用区域中包露空缺或字符单元格,则不计算在内。

重要功效:显露所引用单元格的列符号值。

参数说明:re fe ren ce为引用的单元格。

应用举例:在C11单元格中输入公式:=COL UM N(B11),确认后显示为2(即B列)。

特别提醒:如果在B11单元格中输入公式:=CO L UM N(),也显示出2;与之绝对应的借有一个往回行符号值

我要回帖

更多关于 同一品名数量求和 的文章