插入子查询结果
语句格式
INSERT
INTO <表名> [(<属性列1> [,<属性列2>… )]
子查询;
【子查询要求】
SELECT子句目标列必须与INTO子句匹配 ,包括
- 值的个数
- 值的类型
例子:对每一个系,求学生的平均年龄,并把结果存入数据库
INSERT
INTO Dept_age(Sdept,Avg_age)
SELECT Sdept,AVG(Sage) FROM Student GROUP BY Sdept;
带子查询的修改语句
语句格式
UPDATE <表名>
SET <列名>=<表达式>[,<列名>=<表达式>]…
WHERE <条件> IN 子查询;
例子:将计算机科学系全体学生的成绩置零
UPDATE SC
SET Grade=0
WHERE Sno IN ( SELETE Sno FROM Student WHERE Sdept= 'CS' );
带子查询的删除语句
语句格式
DELETE FROM <表名>
WHERE <条件> IN 子查询;
例子:删除计算机科学系所有学生的选课记录
DELETE FROM SC
WHERE Sno IN (SELETE Sno FROM Student WHERE Sdept= 'CS') ;