INSERT INTO sc (CId, SId, scterm, scscore1, scscore2, scscore3, scscore) SELECT course.CId, student.SId, sc.scterm, sc.scscore1, sc.scscore2, sc.scscore3, sc.scscore FROM student JOIN sc ON student.SId = sc.SId WHERE student.Gid LIKE '03' AND sc.scterm LIKE '2009-2010-1';
时间: 2024-04-12 19:28:11 浏览: 71
数据库练习题.docx
这是一个例子,展示了如何使用 INSERT INTO 子查询来从 student 和 sc 表中选择符合条件的数据并插入到 sc 表中。
假设你有三个表:student、course 和 sc。student 表包含学生信息,course 表包含课程信息,而 sc 表则是学生和课程成绩的关联表。
以下是示例查询:
```
INSERT INTO sc (CId, SId, scterm, scscore1, scscore2, scscore3, scscore)
SELECT course.CId, student.SId, sc.scterm, sc.scscore1, sc.scscore2, sc.scscore3, sc.scscore
FROM student
JOIN sc ON student.SId = sc.SId
WHERE student.Gid LIKE '03'
AND sc.scterm LIKE '2009-2010-1';
```
这个查询的目的是将满足条件的学生和课程成绩插入到 sc 表中。子查询部分使用了 JOIN 子句将 student 表和 sc 表连接起来,然后通过 WHERE 子句指定了筛选条件,只选择 Gid(学生组别)为 '03' 且 scterm(学期)为 '2009-2010-1' 的记录。
SELECT 子句中的列来自于 student、course 和 sc 表,它们的数据将被插入到 sc 表中的对应列。
希望这个例子能帮助你理解如何使用 INSERT INTO 子查询和元组插入数据。如果还有其他问题,请随时提问!
阅读全文