Select的子句Order By 与 limit
Order By 子句
例题
将Book表中的记录按出版时间先后顺序排序
select*from Book Order By 出版时间;
将Sell表中记录按订购册数从高到低排序
Select*from Sell Order By 订购册数 Desc;
Limit 子句
Limit是Select语句的最后一个子句,主要用于限制被Select返回的行数
语法格式
Limit{[offset,]row_count | row_count OFFSET offset}
例题
查找Member表中注册时间最靠前的5位会员的信息。
Select * from Members Order By 注册时间 Limit 5;
查找Book表中从第四条记录开始的5条记录
Select * from Book Order By 学号 Limit 3,5;
作业
1、查看XSCJ数据库中XS学生基本情况表、KC课程表、XS_KC成绩表的数据信息。(确保数据和教材第105-106页表5-13学生基本情况表、表5-14课程表、表5-15成绩表中数据一致。)
show databases;
use XSCJ; show tables; select*from xs; select*from kc; select*from xs_kc;
2、完成教材第107页以下操作:
(1)将通信工程专业的学生按出生日期先后排序。
Select*from xs where 专业名='通信工程' Order By 出生时间 ;
(2)将计算机专业学生的“计算机基础”课程成绩按降序排列。
Select 成绩 from xs_kc join kc on xs_kc.课程号=kc.课程号 join xs on xs.学号=xs_kc.学号 where 课程名='计算机基础' and 专业名='计算机' Order By 成绩 desc;
(3)将计算机专业学生按其平均成绩排列。
Select*from xs join xs_kc on xs.学号=xs_kc.学号 where 专业名='计算机' Group By xs. 学号 Order By avg(成绩) ;
(4)查找XS表中学号最靠前的5位学生的信息。
select * from xs Order by 学号 limit 5;
(5)查找XS表中从第4位同学开始的5位学生的信息。
select*from xs limit 3,5;
3、查看YGGL数据库中Employees员工信息表、Departments部门信息表、Salary员工薪水情况表的数据信息。(确保数据和教材第102-103页表5-10员工信息表、表5-11员工薪水情况表、表5-12部门信息表中数据一致。)
use YGGL; select*from Employees; select*from 部门信息表; select*from 员工薪水情况表;
4、完成教材第104页以下操作:
(1)按“部门名称”列出该部门工作的员工人数。
select 部门名称,count(员工编号)as 员工人数 from Employees join 部门信息表 on Employees.员工部门号=部门信息表.部门编号 Group By 部门名称;
(2)分别统计男性员工和女性员工人数。
Select 性别,count(员工编号) from Employees Group By 性别;
(3)查找雇员数超过2人的部门名称和员工数量。
Select 部门名称,count(员工编号) As 员工数量 from Employees join 部门信息表 on Employees.员工部门号=部门信息表.部门编号 Group By 部门名称 having 员工数量>2;
(4)按员工学历分组统计各种学历人数。
select 学历,count(员工编号) As 人数 from Employees Group By 学历;
(5)将员工信息按出生日期从大到小排序。
Select*from Employees Order By 出生日期;
(6)将员工薪水按收入多少从小到大排序。
Select * from 员工薪水情况表 Group By 收入;
(7)按员工的工作年限分组,统计各个工作年限的人数,并按人数从小到大排序。
Select 工作年限,count(员工编号) as 人数 from Employees Group By 工作年限 Order By 人数;