您的位置:首页 > 房产 > 建筑 > 在数据操作中使用SELECT子句

在数据操作中使用SELECT子句

2024/10/4 0:10:44 来源:https://blog.csdn.net/qq_61709335/article/details/140597273  浏览:    关键词:在数据操作中使用SELECT子句

目录

一、INSERT 语句中使用 SELECT子句

二、UPDATE 语句中使用 SELECT子句

三、DELETE 语句中使用 SELECT子句


一、INSERT 语句中使用 SELECT子句

        在 INSERT 语句中使用 SELECT子句,可以将一个或多个表或视图中的数据添加到另外一个表中。使用 SELECT 子句还可以同时插入多行。

--  语法结构

INSERT   [ INTO ]  table_name [ ( column_list ) ]

SELECT  select_list

FROM  table_name

[ WHERE  search_condition ]

--  示例:创建一个成绩表副本(#TempOrder)表,将 sc表中成绩大于等于80分的数据添加到该表中,并查询里面的内容。

create  table  #TempOrder

(

sno  char(9),

cno  char(4),

score  in,

)

go

insert  into  #TempOrder  (sno, cno, score)

select  *  from  sc

where  score >= 80

go

select  * from #TempOrder

go

drop  table  #TempOrder

select  *  into  #TempOrder

from  sc

where  score >= 80

go

select  *  from  #TempOrder

go

drop  table  #TempOrder

  • 不要把 SELECT 子句写在圆括号中;
  • INSERT 语句中的列名列表应当放在圆括号中,而且不适用 VALUES关键字。如果来源表与目标表的结构完全相同,则可以省略 INSERT 语句中的列名列表;
  • SELECT 子句中的列名列表必须与 INSERT 语句中的列名列表相匹配。如果没有在 INSERT语句中给出列名列表,SELECT 子句中的列必须与目标表中的列相匹配。

二、UPDATE 语句中使用 SELECT子句

        在 UPDATE 语句中使用 SELECT子句中,可以将子查询的结果作为修改数据的条件。

--  语法结构

UPDATE  table_name

SET  { column_name = { expression } }   [ , .. n ]

WHERE  { condition_expression }

--  condition_expression:包含 SELECT子句,SELECT子句要写在圆括号中。

--  示例:将学号为 201602001号学生选修的操作系统的成绩改为86。

update  sc

set  score = 86

where sno = '201602001'  and  

        cno = (select  cno  from course  where  cname = '操作系统')

--  示例:将2016级计算机专业王一选修的 C001号课程的成绩改为92。

update  sc

set  score = 92

where  cno = 'C001'  and   

        sno = (select  sno  from  student  where  specialty = '计算机'  and  sname = '王一')

三、DELETE 语句中使用 SELECT子句

        在 DELETE 语句中使用 SELECT子句中,可以将子查询的结果作为删除数据的条件。

--  语法结构

DELETE  table_name

[ WHERE   { condition_expression } ]

--  示例:将学号为 201602001号学生选修的操作系统课程删除。

delete  sc

where  sno = '201602001'  and  

        cno = (select  cno  from  course  where  cname = '操作系统')

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com