天天看點

SQL流程控制語句

 IF-ELSE關鍵字

IF(條件)

    語句或語句塊

ELSE

語句或語句塊用BEGIN...END表示

   BEGIN

          語句1

          語句2

   END

例如:

DECLARE @test INT 

SET @test=1

SELECT @test=avg(score) FROM  stu WHERE stu.name='lilu'

IF(@test=1)

PRINT @test

BEGIN

 IF exists(SELECT score FROM  stu WHERE stu.name='aa')

 BEGIN

 DELETE  FROM  stu  WHERE  stu.name='aa' and score=99

 END

 INSERT INTO  stu VALUES('aa',99)

 SELECT score FROM  stu 

 WHERE name='aa'

END

<a href="https://s1.51cto.com/wyfs02/M00/06/97/wKiom1m6gUiitY0nAADVzlyYsWQ316.jpg-wh_500x0-wm_3-wmp_4-s_1208296753.jpg" target="_blank"></a>

case關鍵字

case:

CASE

          WHEN 條件1 THEN 結果1

          WHEN 條件2 THEN 結果2

create table ss

(

 name varchar(10),

 score float

 )

 insert into ss values('小白',99)

 insert into ss values('小黑',77)

 insert into ss values('小李',58)

SELECT name,

  score=CASE

             WHEN score&lt;60 THEN 'E'

             WHEN score BETWEEN 60 AND 69 THEN 'D'

             WHEN score BETWEEN 70 AND 79 THEN 'C'

             WHEN score BETWEEN 80 AND 89 THEN 'B'

             ElSE    'A'

             END

FROM ss

WHILE 關鍵字

WHILE (條件)

     語句或語句塊

     [BREAKE]

DECLARE @test  INT 

SET @test=2

WHILE (@test&lt;20)

  SET @tesT=@test+2

  IF(@test&lt;&gt;7)

  BEGIN

  PRINT @test

  IF(@test=18)

  BREAK

IF (@test=7)

CONTINUE

本文轉自 Linux_woniu 51CTO部落格,原文連結:http://blog.51cto.com/linuxcgi/1965331