、
着重号,区分字段和关键字的符号
+号是运算的
起别名,其中的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表中不存在的
视图