数据库 之带子查询的操作--插入子查询结果、带子查询的修改语句、带子查询的删除语句

插入子查询结果

语句格式

 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') ;
发布了30 篇原创文章 · 获赞 3 · 访问量 3897

猜你喜欢

转载自blog.csdn.net/qq_41956139/article/details/104262708