有专业表D,教师表T,课程表C,授课关系表TC。删除姓名为刘伟的老师的授课记录
时间: 2024-03-30 12:34:41 浏览: 45
针对这个需求,可以使用如下的 SQL 语句来删除姓名为刘伟的老师的授课记录:
```
DELETE FROM TC WHERE teacher_id IN (SELECT id FROM T WHERE name = '刘伟');
```
上述 SQL 语句中,首先使用子查询语句 `(SELECT id FROM T WHERE name = '刘伟')` 来获取到姓名为刘伟的老师的 ID,然后在主查询中使用 `IN` 子句将这些 ID 作为参数传入,从而删除掉对应的授课记录。
相关问题
用MySQL删除姓名为刘伟的老师的授课记录
可以使用以下的SQL语句删除姓名为刘伟的老师的授课记录:
```
DELETE FROM 授课表 WHERE 老师姓名 = '刘伟';
```
其中,`授课表`是你的授课记录表,`老师姓名`是你的老师姓名字段。这条SQL语句会将所有老师姓名为刘伟的授课记录删除。请注意,执行这条语句前请确保数据备份,以免误删数据。
sql 有课程表、教师表、选课表和授课表4张表,查询每门课程的课程号、任课教师姓名及其选课人数
可以使用以下 SQL 语句来查询每门课程的课程号、任课教师姓名及其选课人数:
```
SELECT c.课程号, t.姓名 AS 任课教师, COUNT(*) AS 选课人数
FROM 课程表 c
JOIN 授课表 s ON c.课程号 = s.课程号
JOIN 教师表 t ON s.教师号 = t.教师号
JOIN 选课表 x ON t.教师号 = x.教师号 AND c.课程号 = x.课程号
GROUP BY c.课程号, t.姓名;
```
其中,`JOIN` 用于连接多张表,`COUNT(*)` 用于统计选课人数,`GROUP BY` 用于按照课程号和任课教师分组。