ptaSQL语句练习4-增删改 显示

目录

R10-79 83.将电子信息1班(班级编号:08)的班主任改为李丽青老师(无重名)

R10-80 88.删除所有选修了"数据库"课程的选课记录

R10-81 89.删除选修人数小于6的选课记录

R10-82 90.删除未担任班导师并且未安排课程的教师记录

R10-83 28.显示无前导课的课程的全部信息

R10-84 46.显示没有班主任的班级的所有信息

R10-85 43.显示姓名中有"白云"的同学的所有信息

R10-88 38.显示人数5人以上班级的班级编号和人数(Num),并按人数升序排列

R10-89 80.理学院(CS)新开一门课程“数学建模”,课程编号20, 学分4,学时72,选修课程,最多选课人数为50

R10-90 84.将课程"数据库"(课程编号:1)的上课教室改为NB111,授课教师改为李飞(教师编号:02001)

R10-91 86.删除所有期末成绩小于60分的选课记录

R10-92 85.将学号为012005001的学生班级改为计算机科学与技术2班(GId=02),联系电话置为空值(NULL)

R10-94 78.为洪玉飞老师(教师编号:03012)安排软件工程1班(班级编号:04)的数据库课程(课程编号:1),上课教师为NB201,


R10-79 83.将电子信息1班(班级编号:08)的班主任改为李丽青老师(无重名)
update grade
set TId = (
    select TId
    from teacher 
    where TName = '李丽青'
)
where GId = '08'
R10-80 88.删除所有选修了"数据库"课程的选课记录
DELETE FROM sc
WHERE CId in (
    select CID
    from course
    where CName = '数据库'
)
R10-81 89.删除选修人数小于6的选课记录
DELETE
FROM sc
WHERE CId IN
      (SELECT *
       FROM ((SELECT CId
              FROM sc
              GROUP BY CId
              HAVING COUNT(*) < 6) AS tmp))
R10-82 90.删除未担任班导师并且未安排课程的教师记录
DELETE FROM teacher
WHERE TId NOT IN (
    SELECT TId 
    FROM grade 
    WHERE TId IS NOT NULL
)AND TId NOT IN (
    SELECT TId 
    FROM information 
    WHERE TId IS NOT NULL
);
R10-83 28.显示无前导课的课程的全部信息
select *
from course
where PCId  is null
R10-84 46.显示没有班主任的班级的所有信息
select *
from grade
where grade.TId is null
R10-85 43.显示姓名中有"白云"的同学的所有信息
select *
from student 
where SName like '白云%'
### 回答1: 抱歉,我是AI语言模型,无法提供班级编号和人数的具体信息。但是,您可以通过以下步骤来实现您的需求: 1. 获取所有班级的人数信息,并筛选出人数大于等于5人的班级。 2. 对筛选出的班级按照人数升序排列。 3. 输出班级编号和人数。 希望这些步骤能够帮助您实现您的需求。 ### 回答2: 为了找到人数5人以上的班级编号和人数(num),我们需要先从学生信息表中统计每个班级的人数。统计班级人数可以使用SQL的GROUP BY和COUNT函数。 假设我们有以下学生信息表: |id |name |class| |-----|-----|-----| |1 |Tom |101 | |2 |Jack |101 | |3 |Lucy |101 | |4 |Rose |102 | |5 |Lily |102 | |6 |Bob |103 | |7 |John |103 | |8 |Sophie|103 | |9 |Mike |103 | |10 |David|104 | |11 |Jane |104 | |12 |Emma |105 | 统计每个班级的人数可以使用以下SQL语句: SELECT class, COUNT(*) AS num FROM student GROUP BY class; 运行结果如下: |class|num | |-----|----| |101 |3 | |102 |2 | |103 |4 | |104 |2 | |105 |1 | 现在我们需要找到人数5人以上的班级编号和人数,可以在上面的SQL语句的基础上添加HAVING子句,过滤掉人数小于5的班级,最后按人数(num)升序排列。最终SQL语句如下: SELECT class, COUNT(*) AS num FROM student GROUP BY class HAVING num >= 5 ORDER BY num ASC; 运行结果如下: |class|num | |-----|----| 以上结果表格为空,因为在我们的样例数据中没有班级人数5人以上的情况。如果数据中有符合要求的班级,则会显示班级编号和对应的人数,按照人数升序排列。例如,如果我们有一个班级106,有7名学生,则运行结果如下: |class|num | |-----|----| |106 |7 | 总的来说,查询人数5人以上的班级编号和人数的方法是先使用GROUP BY和COUNT函数统计每个班级的人数,然后使用HAVING子句过滤掉人数小于5的班级,最后按人数升序排列。 ### 回答3: 这是一个查询问题,查询语句如下: SELECT 班级编号,COUNT(*) AS num FROM 学生表 GROUP BY 班级编号 HAVING num>=5 ORDER BY num ASC; 解释一下查询语句的含义: 首先从学生表中筛选出班级编号和人数,使用COUNT(*)函数可以将一个班级中的学生总数计数为num,然后对每个班级编号分组,使用HAVING条件过滤出人数大于等于5人的班级,最后按照人数升序排序。 执行查询语句后,返回结果为班级编号和人数列,其中人数大于等于5人的班级编号按照人数升序排列。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值