在学生选课表 xsxkb 中,查询选修了成绩在70~80分的学生学号 xh 、课程代码 kcdm 和成绩 cj 信息。
时间: 2024-03-15 21:45:55 浏览: 166
您可以使用如下SQL语句查询选修了成绩在70~80分的学生学号 xh、课程代码 kcdm和成绩 cj 信息:
```
SELECT xh, kcdm, cj
FROM xsxkb
WHERE cj BETWEEN 70 AND 80;
```
其中,xsxkb代表学生选课表,xh代表学生学号,kcdm代表课程代码,cj代表成绩。BETWEEN 70 AND 80表示成绩在70~80分之间。
相关问题
查询每个学生选修的课程成绩信息,要求只显示成绩在90分(包含90)以上的学生的学号,程名称,成绩。
您可以使用如下SQL语句查询每个学生选修的课程成绩信息,只显示成绩在90分(包含90)以上的学生的学号,课程名称,成绩:
```
SELECT xsxkb.xh, kcb.kcmc, xsxkb.cj
FROM xsxkb
JOIN kcb ON xsxkb.kcdm = kcb.kcdm
WHERE xsxkb.cj >= 90;
```
其中,xsxkb代表学生选课表,kcb代表课程表,xh代表学生学号,kcmc代表课程名称,cj代表成绩,kcdm代表课程代码。JOIN是连接关键字,表示连接两个表。xsxkb.kcdm = kcb.kcdm表示以课程代码为连接条件。WHERE xsxkb.cj >= 90表示只显示成绩在90分及以上的学生信息。
在jwgl数据库中创建触发器trigger_deleted,实现如下功能:当在xsjbxxb中删除某个学生时,同时删除对应表xsxkb中相应学生的选课记录。(首先在表格结构中取消相应的主外键约束)
在jwgl数据库中创建触发器trigger_deleted,可以按照以下步骤操作:
1. 取消xsjbxxb表中与xsxkb表的主外键约束。
```sql
ALTER TABLE xsjbxxb DROP CONSTRAINT FK_xsxkb_xh;
```
2. 创建trigger_deleted触发器。
```sql
CREATE TRIGGER trigger_deleted
ON xsjbxxb
AFTER DELETE
AS
BEGIN
DELETE FROM xsxkb WHERE xh IN (SELECT xh FROM deleted);
END;
```
3. 启用主外键约束。
```sql
ALTER TABLE xsjbxxb ADD CONSTRAINT FK_xsxkb_xh FOREIGN KEY (xh) REFERENCES xsxkb(xh);
```
解释一下上述代码:
首先,我们需要取消xsjbxxb表中与xsxkb表的主外键约束,这是因为在删除学生时,我们需要同时删除xsxkb表中相应学生的选课记录,如果保留主外键约束,则无法进行删除操作。
接着,我们创建一个名为trigger_deleted的触发器,这个触发器会在xsjbxxb表中有记录被删除时自动触发。在触发器中,我们使用了一个子查询来获取被删除的学生的学号,并使用这个学号来删除xsxkb表中相应学生的选课记录。
最后,我们重新启用主外键约束,以确保数据的完整性。
阅读全文