1、创建学生表student,结构如下:
2、向student表中插入数据,数据如下:
3、查找所有男生的学生记录;
4、查找计算机系、英语系的学生记录;
5、查找出生年月介于1988年到1990年的学生记录;
6、查找所有山西省的学生记录;
7、将学生表中的记录,按照性别字段进行分组查询,并统计出每个分组中各有多少学生;
8、查询学生表中出生年月小于1990,并且来自中文系的学生记录;
9、将学生表按照出生年月进行降序排列,并输出从第2位到第5位的学生(从高到低)。
#1、创建学生表student,结构如下:
CREATE TABLE tbl_student(
stu_id INT(10) PRIMARY KEY not null COMMENT '学号',
stu_name VARCHAR(20) NOT NULL COMMENT '姓名',
sex VARCHAR(2) COMMENT '性别',
birth YEAR COMMENT '出生年份',
department VARCHAR(20) COMMENT '院系',
addr VARCHAR(50) COMMENT '家庭住址'
);
#2、向student表中插入数据,数据如下:
INSERT INTO tbl_student
VALUES
( 901, '张飞', '男', 1985, '计算机系', '河北省涿州市' ),
( 902, '关羽', '男', 1986, '中文系', '山西省运城市' ),
( 903, '貂蝉', '女', 1990, '中文系', '山西省沂州市' ),
( 904, '刘备', '男', 1990, '英语系', '河北省涿州市' ),
( 905, '小乔', '女', 1991, '英语系', '安徽省潜山市' ),
( 906, '赵云', '男', 1988, '计算机系', '河北省正定市' );
#3、查找所有男生的学生记录;
SELECT * FROM tbl_student WHERE sex = '男';
#4、查找计算机系、英语系的学生记录;
SELECT * FROM tbl_student WHERE department = '计算机系' or department ='英语系';
#5、查找出生年月介于1988年到1990年的学生记录;
SELECT * FROM tbl_student WHERE birth BETWEEN 1988 and 1990;
#6、查找所有山西省的学生记录;
SELECT * FROM tbl_student WHERE addr LIKE '山西省%';
#7、将学生表中的记录,按照性别字段进行分组查询,并统计出每个分组中各有多少学生;
SELECT sex,count(*) from tbl_student GROUP BY sex;
#8、查询学生表中出生年月小于1990,并且来自中文系的学生记录;
SELECT * FROM tbl_student WHERE birth < 1990 and department = '中文系';
#9、将学生表按照出生年月进行降序排列,并输出从第2位到第5位的学生(从高到低)。
#***使用ORDER BY子句按照birth字段进行降序排列。LIMIT子句用于限制结果集的条数,其中1表示从第二条记录开始,4表示返回四条记录。因为是降序排列,所以从第二条记录开始就是第二高的学生,到第五条记录就是第五高的学生。
SELECT * FROM tbl_student ORDER BY birth DESC LIMIT 1,4;
查询的结果
SQL中limit的用法
用法:【select * from tableName limit i,n 】
参数:tableName: 为数据表;
i: 为查询结果的索引值(默认从0开始);
n: 为查询结果返回的数量