日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql课程表学时_Mysql 巩固提升 (学生表_课程表_成绩表_教师表)

發(fā)布時(shí)間:2024/9/27 数据库 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql课程表学时_Mysql 巩固提升 (学生表_课程表_成绩表_教师表) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

方便Mysql 鞏固提升

創(chuàng)建表并插入數(shù)據(jù):

-- ----------------------------

-- Table structure for student

-- ----------------------------

DROP TABLE IF EXISTS `student`;

CREATE TABLE `student` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`sname` varchar(32) DEFAULT NULL,

`sage` int(11) DEFAULT NULL,

`ssex` varchar(8) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of student

-- ----------------------------

INSERT INTO `student` VALUES ('1', '劉一', '18', '男');

INSERT INTO `student` VALUES ('2', '錢二', '19', '女');

INSERT INTO `student` VALUES ('3', '張三', '17', '男');

INSERT INTO `student` VALUES ('4', '李四', '18', '女');

INSERT INTO `student` VALUES ('5', '王五', '17', '男');

INSERT INTO `student` VALUES ('6', '趙六', '19', '女');

-- ----------------------------

-- Table structure for teacher

-- ----------------------------

DROP TABLE IF EXISTS `teacher`;

CREATE TABLE `teacher` (

`id` int(11) DEFAULT NULL,

`tname` varchar(16) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of teacher

-- ----------------------------

INSERT INTO `teacher` VALUES ('1', '葉平');

INSERT INTO `teacher` VALUES ('2', '賀高');

INSERT INTO `teacher` VALUES ('3', '楊艷');

INSERT INTO `teacher` VALUES ('4', '周磊');

-- ----------------------------

-- Table structure for course

-- ----------------------------

DROP TABLE IF EXISTS `course`;

CREATE TABLE `course` (

`id` int(11) DEFAULT NULL,

`cname` varchar(32) DEFAULT NULL,

`tid` int(11) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of course

-- ----------------------------

INSERT INTO `course` VALUES ('1', '語文', '1');

INSERT INTO `course` VALUES ('2', '數(shù)學(xué)', '2');

INSERT INTO `course` VALUES ('3', '英語', '3');

INSERT INTO `course` VALUES ('4', '物理', '4');

-- ----------------------------

-- Table structure for sc

-- ----------------------------

DROP TABLE IF EXISTS `sc`;

CREATE TABLE `sc` (

`sid` int(11) DEFAULT NULL,

`cid` int(11) DEFAULT NULL,

`score` int(11) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of sc

-- ----------------------------

INSERT INTO `sc` VALUES ('1', '1', '56');

INSERT INTO `sc` VALUES ('1', '2', '78');

INSERT INTO `sc` VALUES ('1', '3', '67');

INSERT INTO `sc` VALUES ('1', '4', '58');

INSERT INTO `sc` VALUES ('2', '1', '79');

INSERT INTO `sc` VALUES ('2', '2', '81');

INSERT INTO `sc` VALUES ('2', '3', '92');

INSERT INTO `sc` VALUES ('2', '4', '68');

INSERT INTO `sc` VALUES ('3', '1', '91');

INSERT INTO `sc` VALUES ('3', '2', '47');

INSERT INTO `sc` VALUES ('3', '3', '88');

INSERT INTO `sc` VALUES ('3', '4', '56');

INSERT INTO `sc` VALUES ('4', '2', '88');

INSERT INTO `sc` VALUES ('4', '3', '90');

INSERT INTO `sc` VALUES ('4', '4', '93');

INSERT INTO `sc` VALUES ('5', '1', '46');

INSERT INTO `sc` VALUES ('5', '3', '78');

INSERT INTO `sc` VALUES ('5', '4', '53');

INSERT INTO `sc` VALUES ('6', '1', '35');

INSERT INTO `sc` VALUES ('6', '2', '68');

INSERT INTO `sc` VALUES ('6', '4', '71');

1. 查詢“001”課程比“002”課程成績高的所有學(xué)生的學(xué)號(hào)

SELECT

a1.sid

FROM

(SELECT * FROM sc WHERE cid = 1) a1,

(SELECT * FROM sc WHERE cid = 2) a2

WHERE

a1.score > a2.score

AND a1.sid = a2.sid

select sid,GROUP_CONCAT(score),count(sid)from sc GROUP BY sid;

2. 查詢平均成績大于60分的學(xué)生的平均成績

select sid,AVG(score) from sc GROUP BY sid HAVING AVG(score)>60;

3. 查詢所有同學(xué)的學(xué)號(hào)、姓名、選課數(shù)、總成績

select a1.id,a1.sname from student a1;

select sid,count(cid),sum(score) from sc GROUP BY sid;

SELECT

a1.id,

a1.sname,

a2.number,

a2.score

FROM

student a1,

(

SELECT

sid,

count(cid) AS number,

sum(score) AS score

FROM

sc

GROUP BY

sid

) a2

WHERE

a1.id = a2.sid;

4. 查詢姓“周”的老師的個(gè)數(shù)

SELECT

count(DISTINCT(tname))

FROM

teacher

WHERE

tname LIKE '周%';

5.查詢沒學(xué)過“葉平”老師課的同學(xué)的學(xué)號(hào)、姓名

select id from course a where a.tid = (SELECT id from teacher where tname='葉平');

select sid,GROUP_CONCAT(cid ORDER BY cid ASC) as cids from sc GROUP BY sid;

SELECT

sid

FROM

(

SELECT

sid,

GROUP_CONCAT(cid ORDER BY cid ASC) AS cids

FROM

sc

GROUP BY

sid

) a

WHERE

! FIND_IN_SET('1', cids);

6. 查詢學(xué)過“001”并且也學(xué)過編號(hào)“002”課程的同學(xué)的學(xué)號(hào)、姓名

方法一:

select sid from (select sid,GROUP_CONCAT(cid ORDER BY cid ASC) as cids from sc GROUP BY sid) a where FIND_IN_SET('1',cids) and FIND_IN_SET('2',cids);

SELECT id,sname from student where student.id in (select sid from (select sid,GROUP_CONCAT(cid ORDER BY cid ASC) as cids from sc GROUP BY sid) a where FIND_IN_SET('1',cids) and FIND_IN_SET('2',cids));

方法二:

select student.id,student.sname from student,sc where student.id = sc.sid and sc.cid = '001' and EXISTS(select * from sc sc2 where sc.sid = sc2.sid and sc2.cid='002');

7.查詢學(xué)過“葉平”老師所教的所有課的同學(xué)的學(xué)號(hào)、姓名

SELECT student.id,student.sname from student where student.id in(SELECT DISTINCT(sid) from sc,course,teacher WHERE sc.cid = course.id and course.id = teacher.id and teacher.tname = '葉平');

8. 查詢課程編號(hào)“002”的成績比課程編號(hào)“001”課程低的所有同學(xué)的學(xué)號(hào)、姓名

select a2.sid from (select * from sc where sc.cid ='002') a1,(select * from sc where sc.cid ='001') a2 where a1.score < a2.score and a1.sid = a2.sid;

select student.id,student.sname from student where student.id in(select a2.sid from (select * from sc where sc.cid ='002') a1,(select * from sc where sc.cid ='001') a2 where a1.score < a2.score and a1.sid = a2.sid)

9. 查詢所有課程成績小于60分的同學(xué)的學(xué)號(hào)、姓名

select GROUP_CONCAT(score ORDER BY score asc) from sc GROUP BY sid

select * from student where student.id not in(select sid from student,sc where student.id = sc.sid and sc.score>60);

10.查詢沒有學(xué)全所有課的同學(xué)的學(xué)號(hào)、姓名

SELECT count(1) from course;

SELECT sid from sc GROUP BY sid HAVING count(cid)

select a.id,a.sname from student a,(SELECT sid from sc GROUP BY sid HAVING count(cid)

select a.id,a.sname from student a,sc b where a.id = b.sid GROUP BY a.id HAVING count(a.id)<4;

11.查詢至少有一門課與學(xué)號(hào)為“1001”的同學(xué)所學(xué)相同的同學(xué)的學(xué)號(hào)和姓名

select DISTINCT(student.id),student.sname from student,sc where student.id = sc.sid and sc.cid in(SELECT sc.cid from sc where sc.sid='1');

12.把“SC”表中“葉平”老師教的課的成績都更改為此課程的平均成績

select course.id from course,teacher where course.tid = teacher.id and teacher.tname ='葉平';

select sc.cid,avg(score) from sc where sc.cid= 1 GROUP BY cid;

UPDATE sc set sc.score = 12 where sc.cid =5;

13.查詢和“1002”號(hào)的同學(xué)學(xué)習(xí)的課程完全相同的其他同學(xué)學(xué)號(hào)和姓名

SELECT sc.sid,GROUP_CONCAT(cid ORDER BY cid ASC) as cids from sc GROUP BY sid;

SELECT cids from (SELECT sc.sid,GROUP_CONCAT(cid ORDER BY cid ASC) as cids from sc GROUP BY sid) a where a.sid = 1;

select * from (SELECT sc.sid,GROUP_CONCAT(cid ORDER BY cid ASC) as cids from sc GROUP BY sid) a where a.cids = (SELECT cids from (SELECT sc.sid,GROUP_CONCAT(cid ORDER BY cid ASC) as cids from sc GROUP BY sid) a where a.sid = 1);

14.刪除學(xué)習(xí)“葉平”老師課的SC表記錄

SELECT * from sc,course,teacher where sc.cid = course.id and course.id = teacher.id and teacher.tname = '葉平';

15.查詢各科成績最高和最低的分:以如下形式顯示:課程ID,最高分,最低分

SELECT cid,MAX(score) as '最高分',MIN(score) as '最低分' from sc GROUP BY sc.cid

select cid,GROUP_CONCAT(score) from sc GROUP BY cid;

總結(jié)

以上是生活随笔為你收集整理的mysql课程表学时_Mysql 巩固提升 (学生表_课程表_成绩表_教师表)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。