1、limit 分条查询数据
例如:
select * from student limit 0,3 //0表示从第几个开始(索引),3表示每次取几条
2、对字段进行条件判断
语法:case 字段名 when 条件 then 结果 end as 查询结果显示的字段名
例如:
select sname, case sex when 0 then ‘女‘ when 1 then ‘男‘ end as nsex from student
3、排序(order by)
desc 降序排列
asc 升序排列
如果需要对汉字字段进行排序,需对该字段进行设置,案例如下:
select sname,s_sex,s_age from student order by convert(sname using gbk) asc;
可以对多个字段进行排序
例如:select sname,s_sex,s_age from student order by s_age,convert(sname using gbk) asc;
如果s_age字段的值相同时,则按照第二排序字段指定的排序方式进行排序,
没有指定第二个排序字段时,则按照在记录中出现的先后顺序进行排序
4、分组查询(group by),一般会与聚合函数同时出现
max() 最大值
min() 最小值
sum() 求和
avg() 求平均数
count() 统计记录数
5、为字段定义别名,一般用于查询语句
语法: select ono as 科目 from score; //科目就是ono这个字段的别名,查询结果显示的也是科目
例如:select ono as 科目, max(cscore) as 最高分,min(cscore) as 最低分,avg(cscore) as 平均分,sum(cscore) as 总分 from score group by ono;
11)虚拟条件查询(having)
例如: select ono as 科目, max(cscore) as 最高分,min(cscore) as 最低分,avg(cscore) as
平均分,sum(cscore) as 总分 from score group by ono having avg(cscore)<75;
注意:如果一个查询语句中同时出现以下关键词,先后顺序如下:
where->group by->having->order by->limit
例如: select ono as 科目, max(cscore) as 最高分,min(cscore) as 最低分,avg(cscore) as
平均分,sum(cscore) as 总分 from score group by ono having avg(cscore)>75 order by ono limit 1,2;
6、字符串截取
left(str,length) //str表示被截取的字段名,length表示截取的长度,从字符串开始位置截取
right(str,length) //str表示被截取的字段名,length表示截取的长度,从字符串结束位置截取
substring(str,position,length) //str表示被截取的字段名,position表示开始截取的位置,从1开始,length表示截取长度
7、关于计算
select *,(gprice1-gprice) as lirun from goods where (gprice1-gprice)*gkucun>500;
注意:字段之间可以进行算术运算,如果参与运算的是字符串类型,那么该字符串会被当做0来处理
原文地址:http://yjyan.blog.51cto.com/9291126/1822218