SQL限制性语句和聚集函数

一般格式

 select [*|distinct] 目标列表达式 [,目标列表达式]… from 表名 [,表名] |

(select 语句)[as] 别名 [where 条件表达式]

[group by 列名1 [having 条件表达式]]

 [order by 列名2 [asc|desc]];

 

1)消除值重复的行 (仅不显示重复的行)

select distinct name from student;

 

limit

 

limit 0,1

以0号列开始显示1列

=limit 1

 

limit 1,1

以1号列开始显示1列,即显示第2列

 

 

offset设置开始位

limit 1 offset 2 ; = limit 2,1;

以2号列开始显示1列,即显示第3例

 

ORDER BY子句

用户可以用ORDER BY字句对结果集按照一个或多个数据列的 升序(ASC)或降序(DESC)排列,默认升序

select * from student order by name desc;

 

 

 

 

where常用的比较运算符

 

select * from student where 2018-30 <birth<2018-20

 

查询姓名为aa的学生信息

 select * from stu where name= ‘aa’;

查询所有女生(非男生)的学员信息

select * from stu where sex <> ’boy’;

 

 

Between and

使用between运算来显示一个区间内的值,

查询在1995-07-13到1995-07-15之间的学生信息。

select * from student where birthday between ‘1995-07-13’and ‘1995-07-15’;

 

IN

查询班级编号是1或者是2的学员信息

select * from student where cid in(1,2);

 

查询班级编号不是1或不是2的学员信息

select * from student where cid NOT in(1,2);

 

like 使用like运算选择类似的的值

选择条件可以包含字符或数字:

%代表零个或多个字符(任意个字符)

_代表一个字符

select * from student where name LIKE 张%

 

GROUP BY +分组依据 (+限制语句having count(*)>2);

将结果集按照某一列或多列的值进行分组,值相等的为一组。

分组后,聚集函数count(*)将作用于每一个组。

having count(*)…筛选count(*)值;

 

 

 

 

聚集函数

 

 

 

 

 

查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列

 

order by avg(score)asc,cno desc;(前面排序条件无法完成,则用后面)

 

聚合函数可以和where cno连用

select avg(score) from sc where cno in (select cno from course where cname='J2SE');

 

猜你喜欢

转载自blog.csdn.net/u012991692/article/details/82944460
今日推荐