数据库练习-单表查询

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: 为查询结果返回的数量

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
回答: 对于数据库多表查询练习题,我们需要根据给定的查询要求,使用合适的SQL语句进行查询。引用提供了一个查询挂科超过两门的学生姓名和班级的例子。通过连接班级表和学生表,再结合查询不及格的分数表,我们可以得到挂科超过两门的学生姓名和班级信息。引用提供了一个查询没有选择李平老师课的学生姓名的例子。通过查询老师表和课程表,我们可以获取到李平老师的编号,然后根据课程表和分数表,找出选择了李平老师课程的学生编号,最后通过学生表取反,得到没有选择李平老师课程的学生姓名。引用提供了一个查询没有同时选修物理课程和体育课程的学生姓名的例子。通过查询课程表和分数表,我们可以获取到物理和体育课程的ID,再通过分数表和学生表,找出只选修了一个课程的学生ID,最后通过学生表获取到这些学生的姓名。希望这样的解释能够帮到你。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MySQL数据库多表查询练习题](https://blog.csdn.net/MeiJin_/article/details/126410521)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值