1.首先需要一个测试表数据Student 2.普通循环 1)循环5次来修改学生表信息 --循环遍历修改记录--declare @i int set @i=0while @i<5begin update Student set demo = @i+5 where Uid=@i set @i=@i +1 end--查看结果--select * from Student 2)执行后的查询结果 3.游标循环(没有事务) 1)根据学生表实际数据循环修改信息---游标循环遍历--begin
DECLARE CountTableRecords CURSOR READ_ONLY FOR SELECT sst.name, Schema_name(sst.schema_id) FROM sys.tables sst WHERE sst.TYPE = 'U' ), ) OPEN CountTableRecords FETCH NEXT FROM CountTableRecords INTO @name, @schema ) BEGIN ) BEGIN PRINT @name ) SET @s
CASE函数 作用: 可以将查询结果集的某一列的字段值进行替换 它可以生成一个新列 相当于switch...case和 if..else 使用语法: case 表达式/字段 when 值 then 自定义值 else end as 别名 when 值 then:可以理解为当某个字段为某个值的时候,然后就返回自定义值将结果集的字段值进行替换 else:如果上面的when都不满足就执行else结果 常用用法一(case后面有字段或者表达式): when关键字后面写固定值 case关键字后面如果有
一.SQL子查询语句 1.单行子查询 select ename,deptno,sal from emp where deptno=(select deptno from dept where loc='NEW YORK'): 2.多行子查询 SELECT ename,job,sal FROM EMP WHERE deptno in ( SELECT deptno FROM dept WHERE dnam