mysql的复习

 

 

着重号,区分字段和关键字的符号

 

 

+号是运算的

 起别名,其中的as可以省略

 ifnull(expr1,expr2),expr1代表输入的字段,expr2代表如果输入的字段是null则为expr2

 

 条件查询

 

 

between  and

in的使用

in不支持通配符

 

or的话结果就是一样了

order by

utf-8规定一个汉字占3个字节

gbk规定汉字占用2个字节

 

上面的例子代表:substr是代表索引从7开始直至结束,第7个是陆,直至结束就是陆展元

下面的例子代表:从第一个开始共截取3个,就是李莫愁

instr返回后面arg2   在   arg1   中出现的位置,是7,如果arg1中含有多个arg2,那么也是返回第一次出现的·索引。

另外,如果殷八侠在arg1中 没出现过就会返回0,

trim只能删除首尾空格

 

Lpad

 

数学函数

截断,不管后面是什么都不要了

 

取余(被除数为正,结果就是正,被除数为负数,结果就是负数)

日期函数

 

 

 

 

 

 

获取月份的英文

 

 

if函数

e1表达式成立就会返回e2的值,如果e1不成立就会返回e3的值

以上case的应用与以下多重case的应用的区别在于,上面的case是等值判断,下面的是区间判断

 

 

 

分组函数,可以忽略null值,当出现null的时候直接忽略该行,不算入其中,就算是avg的除数只要是null就不计入其中

 

 count(*)与count(某属性)区别

count(1)、count(2)、count('神经病')

相当于在表中添加了一列值,

 以下6介绍的查询的employee_id没有意义,因为avg是组函数,查出来是一个值,而select employee_id查出来是一列值,一个值和一列值是不对应的

 

 

 

 

 

 按照表达式分组,mysql支持group by和having别名使用,where不支持。

oracle不支持group by和having别名使用,

 

sql99语法

 

 

 

非等值连接

 

三、自连接

外连接的概念

 

右外连接,右边是主表

要查询谁,谁所在的表就是主表

外连接的总结:

 笛卡尔积的数据表

 

子查询

 

 

 

 

 

 

注意:

 

in即=any

即not in

 

 

 该案例中的两个条件都是=,所以就合并了,所以用行子查询方式

 

 

我的总结:

select和exists都需要写连接条件

 分页

显示结果

0,5或者直接写个5效果是一样的,因为都是从第一条开始查的

执行顺序

1)执行from后面的语句

2)执行join

3)执行on

4)执行where

group by having5、6

select7

order by 8

limit 9

98集

 

 

 

 法2:

 

 

以下这种方法是错误的‘’

 

 

union实例

插入语句

这个是插入方法兼子查询,select的这个宋茜不管在表中存不存在,都是可以插入到beauty中的,但是如果不指定select的id默认是id=0.如果数据表中已经存在是id=0的数据那么就会报Duplicate entry '0' for key 'PRIMARY'错误,所以select要指定的id是在beauty表中不存在的 

 视图

 

 

 

posted @ 2019-04-15 18:04  慧妃不美  阅读(195)  评论(0编辑  收藏  举报