有关mysql的一些操作问题,navicat上的代码

创建三个表,学生表Student由学号(Sno),姓名(Sname),性别(Ssex),年龄(Sage),所在系(Sdept)组成,课程表Course由课程编号(Cno),课程名(Cname),课程学分(Ccredit)组成,学生选课表SC由学号(Sno),课程编号(Cno),成绩(Grade)组成,mysql的代码如下,方便大佬使用,

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for tb_student
-- ----------------------------
DROP TABLE IF EXISTS `tb_student`;
CREATE TABLE `tb_student`  (
  `Sno` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `Sname` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `Ssex` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `Sage` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `Sdept` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  PRIMARY KEY (`Sno`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of tb_student
-- ----------------------------
INSERT INTO `tb_student` VALUES ('S0001', '赵大', '男', '20', '文学系');
INSERT INTO `tb_student` VALUES ('S0002', '赵二', '男', '20', '物理系');
INSERT INTO `tb_student` VALUES ('S0003', '赵三', '男', '20', '数学系');
INSERT INTO `tb_student` VALUES ('S0004', '赵四', '男', '20', '文学系');
INSERT INTO `tb_student` VALUES ('S0005', '赵五', '男', '20', '物理系');
INSERT INTO `tb_student` VALUES ('S0006', '赵六', '女', '20', '数学系');
INSERT INTO `tb_student` VALUES ('S0007', '赵七', '女', '20', '文学系');
INSERT INTO `tb_student` VALUES ('S0008', '赵八', '女', '20', '物理系');
INSERT INTO `tb_student` VALUES ('S0009', '赵九', '女', '20', '数学系');
INSERT INTO `tb_student` VALUES ('S0010', '赵十', '女', '20', '文学系');

SET FOREIGN_KEY_CHECKS = 1;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for tb_course
-- ----------------------------
DROP TABLE IF EXISTS `tb_course`;
CREATE TABLE `tb_course`  (
  `Cno` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `Cname` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `Ccredit` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  PRIMARY KEY (`Cno`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of tb_course
-- ----------------------------
INSERT INTO `tb_course` VALUES ('C001', '语文', '2');
INSERT INTO `tb_course` VALUES ('C002', '英语', '3');
INSERT INTO `tb_course` VALUES ('C003', '数学', '4');
INSERT INTO `tb_course` VALUES ('C004', '物理', '5');

SET FOREIGN_KEY_CHECKS = 1;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for tb_sc
-- ----------------------------
DROP TABLE IF EXISTS `tb_sc`;
CREATE TABLE `tb_sc`  (
  `Sno` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `Cno` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `Grade` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  PRIMARY KEY (`Sno`, `Cno`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of tb_SC
-- ----------------------------
INSERT INTO `tb_sc` VALUES ('S0001', 'C001', '100');
INSERT INTO `tb_sc` VALUES ('S0002', 'C001', '77');
INSERT INTO `tb_sc` VALUES ('S0002', 'C002', '52');
INSERT INTO `tb_sc` VALUES ('S0003', 'C001', '11');
INSERT INTO `tb_sc` VALUES ('S0003', 'C002', '61');
INSERT INTO `tb_sc` VALUES ('S0003', 'C003', '91');
INSERT INTO `tb_sc` VALUES ('S0004', 'C001', '22');
INSERT INTO `tb_sc` VALUES ('S0004', 'C002', '70');
INSERT INTO `tb_sc` VALUES ('S0004', 'C003', '42');
INSERT INTO `tb_sc` VALUES ('S0004', 'C004', '57');
INSERT INTO `tb_sc` VALUES ('S0005', 'C001', '100');
INSERT INTO `tb_sc` VALUES ('S0005', 'C002', '98');
INSERT INTO `tb_sc` VALUES ('S0005', 'C003', '88');
INSERT INTO `tb_sc` VALUES ('S0005', 'C004', '69');
INSERT INTO `tb_sc` VALUES ('S0006', 'C001', '69');
INSERT INTO `tb_sc` VALUES ('S0006', 'C002', '81');
INSERT INTO `tb_sc` VALUES ('S0006', 'C003', '78');
INSERT INTO `tb_sc` VALUES ('S0006', 'C004', '40');
INSERT INTO `tb_sc` VALUES ('S0007', 'C001', '31');
INSERT INTO `tb_sc` VALUES ('S0007', 'C002', '86');
INSERT INTO `tb_sc` VALUES ('S0007', 'C003', '72');
INSERT INTO `tb_sc` VALUES ('S0007', 'C004', '12');
INSERT INTO `tb_sc` VALUES ('S0008', 'C001', '5');
INSERT INTO `tb_sc` VALUES ('S0008', 'C002', '7');
INSERT INTO `tb_sc` VALUES ('S0008', 'C003', '24');
INSERT INTO `tb_sc` VALUES ('S0008', 'C004', '52');
INSERT INTO `tb_sc` VALUES ('S0009', 'C003', '99');
INSERT INTO `tb_sc` VALUES ('S0009', 'C004', '36');
INSERT INTO `tb_sc` VALUES ('S0010', 'C003', '66');
INSERT INTO `tb_sc` VALUES ('S0010', 'C004', '86');

SET FOREIGN_KEY_CHECKS = 1;

 

我想问下这些操作应该如何达成,

1.删除赵十的数学成绩(这种是应该认为是只操作一个表还是同时借用三个表来实现?)

2.列出每个课程的最高分的获得者。输出列:课程号,课程名,学号,姓名,成绩

这是我自己写的但是实现不了:SELECT tb_course.Cno,tb_course.Cname,tb_student.Sno,tb_student.Sname,MAX(tb_sc.Grade) FROM tb_student,tb_course,tb_sc WHERE tb_student.Sno=tb_sc.Sno AND tb_course.Cno=tb_sc.Cno GROUP BY tb_course.Cno;

3.列出文学系学生选修的所有课程,及其平均分。输出列:课程号,课程名,平均分

4.列出获得总分超过4分的学生,成绩大于等于60才能获得学分,输出列:学号,姓名,总学分

5.列出选修了所有课程的学生。输出列:学号,姓名。

6.列出至少选修了语文和数学的所有学生。输出列:学号,姓名。

稍等,我这边给你看一下。待会发给你

1、delete from tb_sc where   Sno=(select sno from tb_student where Sname='赵十')  and Cno=(select Con from tb_course where Cname='数学');

您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~

ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓

【电脑端】戳>>>  https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】  戳>>>  https://mall.csdn.net/item/52471?utm_source=1146287632