数学×语文 5+5+3=()×()-()?

掌握良好的速算技巧,是让孩子们在最短的时间内,提高数学成绩的关键之处,所以,家长要善于引导孩子们发现和使用速算技巧,并且多多将这些技巧进行验证,让这些技巧好好为孩子服务。
下面就让我们一起学习加减乘除除法的速算技巧吧。
前面加数加上后面加数的整数,减去后面加数与整数的差等于和。
二、求只是数字位置颠倒两个两位数的和
一个数的十位数加上它的个位数乘以11等于和
提前虚进一,中间弃9,末位弃10
方法:从左到右,提前虚进1;第1列:中间弃9(3和6)直接写7;第2列:6+4-9+4=5 以此类推...最后1列:末位弃10(8和2)直接写3
注意:中间不够9的用分段法,直接相加,并要提前虚进1;中间数字和大于19的,弃19,前边多进1,末位数字和大于19的,弃20,前边多进1
计算方法:减100,加2
计算方法:减1000,加122
被减数减去减数的整数,再加上减数与整数的差,等于差。
二、求只是数字位置颠倒两个两位数的差
被减数的十位数减去它的个位数乘以9,等于差。
三、求只是首尾换位,中间数相同的两个三位数的差
注意!27中间必须加9, 即为差297
注意!36中间必须加9, 即为差396
注意!45中间必须加9, 即为差495
被减数的百位数减去它的个位数乘以9,(差的中间必须写9)等于差。
两位互补的数相减,被减数减50乘以2;三位互补的数相减,被减数减500乘以2;四位互补的数相减,被减数减5000乘以2;以此类推......
一、十位数相同,个位数互补的两位数乘法
十位加一乘十位,个位相乘写后边(未满10补零)。
1x9=09写在72的后面,(未满10补零)即为乘积7209
二、十位数互补,个位数相同的两位数乘法
十位相乘加个位,个位相乘写后边(未满10补零)。
3x3=09(未满10补零)写在19的后面,即为乘积1909
三、一个数的十位和个位互补,另一个数相同的乘法运算
计算方法:从左到右(3+1)x8=32(前积)
中间9个8没有乘照写。
互补数十位加个1,和另一个十位乘得积,后写两个个位积,即为所求最终积
计算方法:从左到右,高位是2则进2;两两相加挨次写 2+3=5;3+1=4;1+4=5;4+1=5;1+5=6;个位是5还写5
计算方法同上,其中6+4注意进位!
高位是几则进几,两两相加挨次写,相加超十前加一,个位是几还写几。
五、十几与十几相乘的运算
同理:求11—19的平方,采取上述方法,则方便快捷得多。
一数加上另数尾,乘10再加尾数积。
六、个位数都是1的乘法运算
末位皆一者,首位之积接着首位之和(满十进位),尾数之积后面接。
为便于计算,被乘数缩小与乘数扩大相同的倍数。
八、一百零几乘一百零几
两数相接即为乘积10712
两数相接即为乘积10920
两数相接即为乘积11340
两数相接即为乘积11227
两数相接即为乘积11556
一数加上另数尾,尾数之积后面接(未满10的,前面补零)。
除法的目的是求商,但从被除数中突然看不出含有多少商时,可用试商,估商的办法,看被乘数最高几位数含有几个除数(即含商几倍),就由本位加补数几次,其得数就是商。
凡是被除数含有除数1、2、3倍时、其方法为:
被除数含商 1倍:由本位加补数一次。
被除数含商 2倍:由本位加补数二次。
被除数含商 3倍:由本位加补数三次。
① 被除数前两位79中含除数65一倍,加补数一次(35),得1-1495(破折号前为商,破折号后为被除数,下同);
凡是被除数含有除数4、5、6倍时、其方法为:
被除数含商4倍:前位加补数一半,本位减补数一次。
被除数含商 5倍:前位加补数一半,本位不动。
被除数含商6倍:前位加补数一半,本位加补数一次。
355中含有除数4倍,所以前位加11,本位减22,得4-4368;
436中含除数5倍,前位加11,本位不动,得45-468;
468中含除数6倍,前位加11,本位加22,得456(商)。
凡是被除数含有除数7、8、9倍时、其方法为:
被除数含商9倍:前位加补数一次,本位减补数一次。
被除数含商 8倍:前位加补数一次,本位减补数二次。
被除数含商7倍:前位加补数一次,本位减补数三次。
}

混合运算先计算小括号里面的5+3,得8,再用8乘小括号外面的2,结果得16。

你对这个回答的评价是?

下载百度知道APP,抢鲜体验

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。

}

 dual(虚表,用于简单的输出实验用)

3.查员工编号,姓名,工资,新工资(=原始工资上浮25%)  (列值可以直接加减运算,产生的是临时结果)

Oracle数据库中,空值是无效的,未指定的,未知的或不可预知的值

包含空值的数学表达式的值都为空值

6.列的别名(用于衍生列) 有两种方式 一种是 AS; 一种是加空格

    如果别名要是非法标识符,可以使用双引号

8.多个重复行并成一行

9.通过dual生成订单编号(getorderno('') 引号中为订单类型 可以为空 但必须加引号)

二、Oracle常用数据类型

 1.字符型:varchar2(n):变长字符串,n代表允许的最大字节长度,最大4000字节

2.数字类型:number:存储整型或浮点型,最大38位精度

3.日期:date:存储年月日时分秒,精确到秒

1.加了where,数据查询出来就做了比较,所以比不带where的效率要低

2.查询工资超过10000的员工

<> 不等于 (其实!=也可以用)如果值为空值也查不出来

 4. 如果需要查询无条件为真 可以用

5.查询员工编号,姓名,工资,新工资(只看新工资超过10000的员工)

值得注意的是WHERE后面不能用别名 

6.日期类型比较,日期格式敏感,默认的日期格式是DD-MON-RR,没有常量。

有中文,在其他平台会出问题

BETWEEN...AND... 在两个值之间 包含边界 可以是日期类型(查不出来空值)

查询工资不在之间的员工

查询部门不是10,20,50号员工

注意,如果IN后面的值有个为NULL,那么所有数据都查不出来。

四、在oracle中模糊查询的关键字是like

1.其中‘%’代表含有0到多个 ‘_’代表占一个位

如果查询中要查询倒数第5个是下划线的可以使用ESCAPE关键字

其中'\'是自定义的,可以是任何符号 

其中后四个'_'占四个位置,倒数第五个'_'代表它本来的意思'_';

3.查询部门是10,20,以及没有部门的员工

4.单引号转义 如果查询带单引号的字符串时 , 要多加一个单引号对其单引号进行转义

数据库中单引号要做处理 ,防止别人SQL注入

5.查询员工编号,姓名,工资,新工资,部门编号,按工资升序排列

6.查询员工编号,姓名,工资,新工资,部门编号,按工资降序排列

9.排序可以是列索引,2代表第二列 也就是说按 last_name这一列排序

10.查询员工编号,姓名,工资,入职日期,部门编号(多排序表达式)

    按部门升序,工资降序,入职日期升序

11.排序表达式可以不是列列表中的列

12.查询50号部门的员工,按工资降序

子句是有顺序的,先过滤,后排序

13.大数据排序的问题(非常耗费资源,容易造成服务器死机)

排序就是两两比较,排序默认产生的临时数据放到排序区的内存中,

如果排序区不够用,就会利用临时表空间(排序区默认128K很小)

大排序之前一定要做数据库优化 (怎么优化目前不太清楚。。继续学习中!)

 rownum和rowid是三大伪列中的其中两个,是最容易搞混的两个

伪列和虚表差不多,看不到,却可以使用

查询结果是多了一列名为ROWNUM的列,这一列数据从1开始一直递增。

2.查询某表中的前5条数据(有其他字段的时候查询所有列要在前面加表名.*)

rownum在以下条件一定为假,查不出来数据

在数据库汇总是唯一的 

六、函数(和带返回值的方法一样)分为两类 

单行函数 和 多行函数

1.单行函数 upper() 将小写变成大写 传入一行

用于 字符 通用 转换 日期 数值

2.多行函数 传入多行 得到一个结果

4.initcap:单词首字母大写,其余小写

6.substr(字符串,起始位置,截取个数) :截取一个字符的子串,起始位置可以是负数(右数第N位)

8.instr(字符串,查找子串[,起始位置[,第几次出现]]);

查找字符串中子串的起始位置,如果找不到返回0

起始位置可以为负数(从右向左反向搜索) 

9.lpad(字符串,固定长度,填充字符):左填充

10.trim(关键字 from 字符串): 修建字符串两边的关键字

替换字符串中的子串,默认替换为空的字符串

14.查询员工姓和名字数相等的员工

16.查询所偶遇员工姓和名,输出以下格式s.king

17.查询所有的电话号码,把分隔符“.”换成“-”之后再输出

18.用户输入一个任意编号,查询此编号的员工

(&后面的input是变量,input可以改成任意值,执行此SQL语句时Oracle会提示你输入一个值)

19.用户输入一个关键字,查询last_name包含此关键字的员工(不用like)

用这个方法好处是用户查询带%的数据不用转义

七、常用的数学函数和日期函数

1.round:(数字【,小数位数】):按照指定小数位数,四舍五入,默认到整数位

2.trunc:(数字【,小数位数】):截断到指定位数,不四舍五入,默认保留到整数位

4.ceil(数字):进位取整

5.mod:(被除数,除数):求模

6.sysdate:返回当前系统的日期时间

7.日期类型和数字类型可以做加减运算:一个日期加减一个数字返回的还是一个日期(单位是天)

8.一个日期减去另外一个日期返回的是两个日期间隔的天数

日期加减会有小数,可以用数学函数进行截断

查询每个员工的编号,姓名,入职日期,工龄

10.add_months(日期,N):给一个日期加减若干个月,返回一个新日期

N为正数是加,为负数是减

12.next_day(日期,星期几):返回以指定日期为准,一个最近的星期几的日期

可以用数字1-7代表日—六  1代表星期日

13. last_day(日期):返回指定日期的月最后一天的日期

14.round(日期【,日期单位】):对日期进行四舍五入 从12点开始

15.trunc(日期【,日期单位】):对日期进行截断

oracle转换函数主要转换3种类型,日期,数字,字符串

分隐式和显示转换 日期和数字都可以自由转化字符串

但是日期不能转换为数字

20.显示转化 3个函数

21.to_char(日期|数字,'模式'):把一个日期或者数字按照指定模式转化为字符串

结果:现在时间: fm去除月或者日前面的0.

22.查询17号入职的员工

23,查询7,8月份入职的员工

24.to_date(日期字符串,’模式‘):把日期字符串按一定模式解析为一个日期类型

查询95年以前入职员工

25,计算世界末日之后过了多少天

26.to_number(数字字符串,’模式‘):把一个字符串解析为一个数字类型

 八、通用函数,适合所有数据类型

1.nvl(参数1,参数2):如果参数1不为空,返回参数1,如果为空,返回参数2

2.nvl2(参数1,参数2,参数3):如果参数1不为空,返回参数2,如果参数1为空,返回参数3

3.nullif(参数1,参数2): 参数1不等于参数2,返回参数1,如果相等,返回空

4.coalesce(参数1,参数2,参数3...) :返回第一个非空值,如果都为空,则返回空

5.查询员工编号,姓名,工资,奖金金额,实发工资(工资+奖金)

(奖金有可能是空 直接加NULL结果是空 还有运算时不能用别名)

7. 用case表达式做等值判断

查询员工编号,姓名,工资,部门编号,部门名称

--查询员工编号,姓名,工资,工资级别,部门编号

8.decode(表达式,值1,返回值1,值2,返回值2,....【,默认返回值】)做等值判断

 查询员工编号,姓名,工资,部门编号,部门名称

RDBMS:关系型数据库管理系统

表和表之间有引用关系,可以减少数据冗余,方便后期维护

主表:被从表引用的表 有主键 唯一 不重复 不为空

从表:引用其他表的表 有外键 外键允许重复 允许为空 必须是主表中存在的值

一对多    一条记录匹配多条记录(最常见的)

多对多    一个表的多条记录匹配另外一个表的多条记录(间接形成 用户权限会用到)

关系表三范式(可以违反提高效率,主要看需求)

表不可以分割,表要有主键,表只引用其它表的主键

1.查询员工编号,姓名,部门名称(SQL1992)(笛卡尔集)

所有表中的所有行互相连接

2.查询员工编号,姓名,部门名称

这样写得话有一个缺点 , 如果部门值为空的就查不出来 

连接n个表,至少需要n-1个连接条件 起别名要用空格不能用AS

连接表查询,首先要弄清表关系!

3.查询所有部门的编号,部门名称,部门经理ID,部门经理名称,部门所在城市及地区

 4.查看员工职务变更历史记录:(表多的话两个两个来)

员工编号,姓名,起始日期,终止日期,职务名称,部门名称

5.非等值连接(级别不存在相交,蛮少用)

查询每个员工编号,姓名,工资,工资级别

 6.内连接:查询仅满足连接条件的(连接查询容易漏掉NULL值的条件)

    外连接:不仅返回满足连接条件的记录,不满足连接条件的也返回 返回空值

查询员工编号,姓名,部门名称(外连接,没有部门的员工也返回)

查询员工编号,姓名,部门名称(外连接,没有员工的部门也返回) 

7.查询每个部门的编号,部门名称,部门经理ID,部门经理姓名 (没有部门经理的部门也返回)

8.自连接查询(把它当作两个表)

查询员工编号,姓名,员工管理者编号,员工管理者姓名

9.查询谁的工资比Abel高

查询员工编号,姓名,部门编号,部门名称(叉表 查询笛卡尔集 没啥用)

3.查询员工编号,姓名,部门编号,部门名称,职务编号,职务名称(内连接 查不出来空值)

4. 查询员工编号,姓名,部门编号,部门名称(左外连接 LEFT OUTER左边不满足连接条件的也返回 返回employees数据)

5. 查询员工编号,姓名,部门编号,部门名称(右外连接 RIGHT OUTER右边不满足连接条件的也返回 返回departments数据)

6. 查询员工编号,姓名,部门编号,部门名称(满外连接 部门为空的员工和员工为空的部门都返回)

十一、组函数及分析函数

1.组函数作用于一组数据,并对一组数据返回一个值。

 查询所有工资的总和

3.所有组函数都是忽略空值

4.查询所有没有奖金的人数

5.查询部门总数(统计不重复的计数)

6.查询每个部门的ID,员工工资总和,最高工资(三大子句同时使用)

7. 多个分组表达式(两个字段完全相同分成一组)

8.查询每个部门的名称.人数

9.统计每年入职的人数:年份,人数

10 .统计每年入职的人数:年份,人数(仅返回不少于2人的年份的数据)

用HAVING还是用WHERE 主要看需要的过滤的结果是分组之前的,还是分组之后的

 over1列数据是根据员工id进行累加求和(每一行结果是上行累加工资总和加这行工资)

12.连续求和 分组求和 将相同部门工资求一个总和 (相同组结果一样)

13. 连续求和 over1和12一样 over2是分组之后累加(相同组结果一样)

14.按照部门编号做排名

 15.按照部门编号降序做排名 降序空值排第一位

十二、汇总(ANY、相关子查询、EXISTS、WITH)

1查询工资最高的前5名员工

2.查询员工表中第6到第12条数据

3,查询工资最高的第6到12条员工

4.查询所有不是部门经理的员工

6.相关子查询(内外交互式相关子查询)

    按照一行接一行的顺序执行,主查询的每执行一行都执行一次子查询

查询员工编号,姓名,部门编号,工资,本部门的工资总和

7查询所有工资超过本部门平均工资的员工

8.查询是本部门入职最早的但不是部门经理的员工

9.EXISTS查询(EXISTS后面的子查询如果查得出数据,那么主查询才查得出来数据)

10.查询所有是部门经理的员工(代替in语法 提高效率 X代表任意数据)

11.查询所有不是部门经理的员工(代替in语法 提高效率 X代表任意数据)

13.WITH子句 定义子查询作为一个表起别名 然后在后面的查询中调用(可以定义多个表)

十三、树状结构分级查询

 1.分级查询(遍历树结构的数据)(通过子节点查询父节点 通过父节点查询子节点)

2.查询206号员工所有的上级管理者(包括管理者的管理者)

3.查询101员工所有的下级员工(从上向下)

4.统计101员工的所有的手下的人数

(WHERE子句过滤单个节点)

5.过滤整个分支(将205整个分支过滤掉)

省略列列表,默认就是表中的所有列

列和值必须要个数,顺序,类型相同

8,查询结果保存为表(快速创表)

9.插入多行数据(底层数据库维护用处比较多)

11.修改60号部门员工的工资上浮50元

12.修改103号员工的工资和100号员工相同

 删除部门名称为IT的部门的员工

 14合并语句merge 解决效率问题 做数据同步 (同步修改 新增)

按照指定的条件执行插入或跟新操作

如果满足条件的行存在,执行跟新操作,否则执行插入操作

避免多次重复执行插入和删除操作

创建俩个表 修改部分数据

oracle锁一般都是默认加,当一个事务开始的时候默认加锁,当一个事务结束的时候,默认取消锁。当然也可以人为加锁。 

1.oracle锁按照颗粒划分可以分为行锁和表锁。

1.行锁是锁住一行(DML语句中,增,删,改等都是加的行锁)。

2.表锁是锁住一个表,比如(DDL语句一般加的都是表锁)。

2.oracle锁按照显隐可以划分为显示锁和隐式锁

1.隐式锁是默认加的锁(DML语句中,增,删,改等都是加的都是隐式锁);

2.显示锁是人工手动加锁。一般查询语句是不会加锁的,但是也可以手动加锁(sql语句后面加 for update 锁行)

    share模式:禁止其他会话对表做DML操作,但是允许其他会话也对表加share锁

    exclusive模式:禁止其他会话对表进行DML操作,也禁止其他会话对表加任何锁

3.oracle锁按类型分可以分为独占锁和共享锁

     (DML语句对表中行加的是独占锁,对表加的是共享锁) 也就是说,事务执行增,删,改操作操作的时候,锁住了表的一行,

    其他的事物对这一行不能进行操作,可以对该表的其他行进行操作。

     (加了共享锁的表不能再加独占锁) 事务执行增,删,改操作操作的时候,给表加上了共享锁,那么该表就不能执行DDL语句,

4.oracle死锁(两个事务互相锁)

举个例子。A事务和B事务同时执行操作a,b两行,首先A事务锁住了a行,然后B事务锁住了b行,A事务还要操作b行,

但是b行被B事务锁住了,所以A事务等待B事务解锁。而B事务还要操作a行,但是现在a行被A事务锁住,所以B事务要等待A事务

对a行解锁。然后两个事务就发生了死锁(互相等待别的事务解锁)。

死锁是不可避免的,但是oracle会对死锁进行检查,如果检测到死锁会抛出一个异常,这里可以用JAVA捕获异常的机制捕获死锁异常

回滚其中一个事务,就能解决死锁问题了。

1.下面的语句用来查询哪些对象被锁:

2.下面的语句用来杀死一个进程:

【注】以上两步,可以通过Oracle的管理控制台来执行。

3.如果利用上面的命令杀死一个进程后,进程状态被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在os一级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号:

4.在OS上杀死这个进程(线程):

sid:表示要杀死的进程属于的实例名

thread:是要杀掉的线程号,即第3步查询出的spid。

oracle锁一般都是默认加,当一个事务开始的时候默认加锁,当一个事务结束的时候,默认取消锁。当然也可以人为加锁。 

必须在1-30个字符之间

必须不能和用户定义的其他对象重名

必须不能是Oracle保留字

必须指定表名,列名,数据类型,尺寸

创建表(带默认值 插入时候用户没赋值用默认值,插入赋值就用赋的值)

为新追加的列定义默认值

--修改(数据结构要兼容)

创建事务临时表 : 数据仅在一个事务中存在

创建会话临时表:数据仅在一个会话中存在

PRIMARY KEY 主键约束 (现在列值不允许重复,不能为空,一个表只能有一个)

oracle锁一般都是默认加,当一个事务开始的时候默认加锁,当一个事务结束的时候,默认取消锁。当然也可以人为加锁。

}

我要回帖

更多关于 数学×语文 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信