MySQL基础习题锻炼(一)

这是一篇关于MySQL基础的练习题目,涵盖了SELECT语句的使用,包括选择列、条件查询、排序、联合查询、通配符和聚合函数等。题目涉及统计学生考试科目、查询特定成绩、组合查询、按学科和姓名排序、筛选特定学生信息以及各种统计功能的运用。
摘要由CSDN通过智能技术生成

以下是表的基本信息,请自行创建。


创建studen:

CREATE  TABLE  student (id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  ,name  VARCHAR(20)  NOT NULL ,sex  VARCHAR(4)  ,birth  YEAR,department  VARCHAR(20) ,address  VARCHAR(50) );

向student表插入记录的INSERT语句如下:

INSERT INTO student VALUES( 901,'张老大', '男',1985,'计算机系', '北京市海淀区');

INSERT INTO student VALUES( 902,'张老二', '男',1986,'中文系', '北京市昌平区');

INSERT INTO student VALUES( 903,'张三', '女',1990,'中文系', '湖南省永州市');

INSERT INTO student VALUES( 904,'李四', '男',1990,'英语系', '辽宁省阜新市');

INSERT INTO student VALUES( 905,'王五', '女',1991,'英语系', '福建省厦门市');

INSERT INTO student VALUES( 906,'王六', '男',1988,'计算机系', '湖南省衡阳市');


创建score表:

CREATE  TABLE  score (id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  AUTO_INCREMENT ,stu_id 

 INT(10)  NOT NULL ,c_name  VARCHAR(20) ,grade  INT(10));

向score表插入记录的INSERT语句如下:

INSERT INTO score VALUES(NULL,901, '计算机',98);

INSERT INTO score VALUES(NULL,901, '英语', 80);

INSERT INTO score VALUES(NULL,902, '计算机',65);

INSERT INTO score VALUES(NULL,902, '中文',88);

INSERT INTO score VALUES(NULL,903, '中文',95);

INSERT INTO score VALUES(NULL,904, '计算机',70);

INSERT INTO score VALUES(NULL,904, '英语',92);

INSERT INTO score VALUES(NULL,905, '英语',94);

INSERT INTO score VALUES(NULL,906, '计算机',90);

INSERT INTO score VALUES(NULL,906, '英语',85);



学习知识点:

一、SELECT 列名称 FROM 表名

(SELECT * FROM 表名)(*:选取所有列)

二、SELECT 列名 FROM 表名 WHERE列 运算符 值

(SELECT * FROM 表名 WHERE列 运算符 值)

(SELECT * FROM 表名 WHERE列名='具体名')

三、SELECT 列名 FROM 表名 ORDER BY 列名

ORDER BY: 根据指定的列对结果集进行升序排序。DESC:降序排序

四、(SELECT 列名 FROM 表名)

UNION ALL

(SELECT 列名 FROM 表名);

(UNION ALL:操作符用于合并两个或多个 SELECT 语句的结果集LIMIT 数:选取几位进行排序)

五、%通配符可替代一个或多个字符,与LIKE运算符一起使用。

六、聚合函数规范:SELECT 函数名(列名) FROM表名常用于GROUP BY从句的SELECT查询中。

MAX()——最大值,MIN()——最小值,SUM()——总数值,AVG()——平均值

COUNT()——总个数值

七、SELECT COUNT(列名)FROM表名

SELECT COUNT(*)FROM 表名(函数返回表中的记录数,即表的总行数

SELECT COUNT(DISTINCT 列名) FROM 表名(函数返回指定列的不同值的数目


题目:

1.1、统计李四的考试科目和对应成绩;

1.2、统计李四的考试科目和对应成绩,并列出名字;

2、查询计算机成绩低于95的学生信息;

3、查询同时参加计算机和英语考试的学生的信息;

4.1、按从高到低排列计算机学科分数;

4.2、按姓名且从高到低排列计算机学科分数;

4.3、按从高到低排列计算机学科和英语学科分数;

4.4、按姓名且从高到低排列计算机学科和英语学科分数;

5、查询张姓或者王姓的同学的姓名、院系和考试科目及成绩;

6.1、统计所有最大值;

6.2、统计各个学科最大值;

6.3、计算每个学生的总成绩;

6.4、计算每个学科的平均成绩;

6.5、统计各学科人数。

(往下是答案)





答案:

1.1、SELECT c_name,grade FROM score WHERE stu_id=(SELECT id FROM student WHERE name ='李四');

1.2、SELECT name,c_name,grade FROM score,student WHERE student.id=score.stu_id AND name='李四';

 

2、SELECT * FROM student WHERE id IN (SELECT stu_id FROM score WHERE c_name="计算机" AND grade<95);

3、SELECT*FROM student WHERE id =ANY (SELECT stu_id FROM score WHERE stu_id IN  (SELECT stu_id FROM score WHERE c_name='计算机') AND c_name= '英语' );

4.1、SELECT c_name,grade FROM score  WHERE c_name='计算机' ORDER BY grade DESC;

4.2、SELECT name,c_name,grade FROM score,student WHERE c_name='计算机' AND student.id=score.stu_id ORDER BY grade DESC;

4.3、(SELECT c_name,grade FROM score WHERE c_name='英语' ORDER BY grade DESC)

UNION ALL

(SELECT c_name,grade FROM score WHERE c_name='计算机' ORDER BY grade DESC);

4.4、(SELECT name,c_name,grade FROM score,student WHERE c_name='计算机' AND student.id=score.stu_id ORDER BY grade DESC LIMIT 4)

UNION ALL

(SELECT name,c_name,grade FROM score,student WHERE c_name='英语' AND student.id=score.stu_id ORDER BY grade DESC LIMIT 4);

   

5、SELECT student.id, name,sex,department, c_name,grade FROM student, score WHERE (name LIKE  '张%'  OR name LIKE  '王%')AND student.id=score.stu_id ;


6.1、SELECT c_name,MAX(grade) FROM score ;

6.2、SELECT c_name,MAX(grade) FROM score GROUP BY c_name;

6.3、SELECT student.id,name,SUM(grade) FROM student,score WHERE student.id=score.stu_id GROUP BY id;

6.4、SELECT c_name,AVG(grade) FROM score GROUP BY c_name;

6.5、SELECT department,COUNT(id) FROM student GROUP BY department;

     





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值