六、mysql语法

1.条件查询

条件查询需要用到where语句,where必须放到from语句表的后面

执行顺序:先from后where过滤后再检索出来

2.数据排序,asc(升序),desc(降序)默认情况下是asc

单一字段排序:

多个字段排序:(相当于先把第一个字段进行排序,然后再把第一个字段重复的部分再用第二个字段排序)

3.数据处理函数

A.将某个字段转换为小写,lower(字段名)

B.将某个字段转换为大写,upper(字段名)

C.截取字符串,substr(被截取的字符串,起始下标,截取的长度)--注:起始下标从1开始

D.取指定字段的长度,length(字段名)

E.去除前后空格,trim(字段名)

F.整数部分四舍五入,round(字段名)或round(字段名,0)

          

整数部分四舍五入,round(字段名,小数部分要保留的位数)

   

G.生成随机数,rand();--0-1之间的随机小数

   

H.匹配操作,case...when...then...else...end

eg:匹配工作岗位,当为MANAGER时,薪水上调10%,当为SALESMAN时,薪水上调50%,其他岗位薪水不变

I.将某个字段的null值转换成具体值,ifnull(字段名,转换后的值);--null参与运算后获得的值还是null

   

J.将字符串转换成日期,str_to_date(日期字符串,'日期格式');

这里的hiredate是date类型

K.将date类型转换成特定格式的字符串,date_format(日期类型数据,‘日期格式’);

    

这里初始的hiredate是date类型

4.分组函数/聚合函数/多行处理函数

1.什么是单行处理函数?什么是多行处理函数?

单行处理函数是一行输入对应一行输出

多行处理函数是多行输入对应一行输出

2.分组函数自动忽略空值,不需要手动增加where条件排除空值;分组函数不能直接使用在where关键字后面。

尤其在使用count时要注意,它会忽略空值。

 5.去除重复记录,distinct

    

6.分组查询,group by

eg:找出每个工作岗位的最高薪水(分组函数跟group by的混合使用)

  

    

注意:如果使用了order by,order by必须放到group by后面

7.对分组之后的数据进行过滤,group by ... having...(两者必须一起使用)

where与having配合group by使用的区别?

答:where放在group by之前,用来对分组之前的数据进行过滤;

      having放在group by之后,用来对分组之后的数据进行过滤;

 8.关于select语句的总结

  

原文地址:https://www.cnblogs.com/zheaven/p/8086467.html