zoukankan      html  css  js  c++  java
  • sql:select赋值和set赋值的区别

    1)Set写法

    declare @i integer
    set @i=(select count(*) from test)
    select @i

    Select写法

    declare @i integer
    select @i=(select count(*) from test)
    select @i

    declare @i integer
    select @i =count(*) from test
    select @i

    从中可以看出的区别:

    set语句可以被Select代替,但反过来不一定可以。set赋值必须使用子查询,用括号括起来;select可以直接赋值。

    另外:

    如果查询结果有多个,set会出错;而selecte会使用最后一个结果来赋值。

    2)

    假定数据库中id=10的数据不存在,那么:

    Select写法

    declare @i integer
    set @i=5
    select @i =id from test where id=10   
    select @i

    返回 5

    Set写法

    declare @i integer
    set @i=5
    select @i =id from test where id=10
    select @i

    返回 null

    从这点可以看出,如果查询结果为空,那么set赋值会返回NULL,而select赋值会返回之前的值。

  • 相关阅读:
    Java文件读取
    Java继承
    JAVA程序提示错误:需要class,interface或enum解决方法
    SQL 修改列名
    转 父表字表统计查询的sql练习
    powerdesigner12.5入门教程
    现实世界
    oracle添加联合主键
    hashtable的用法
    JQ 1
  • 原文地址:https://www.cnblogs.com/Benjamin/p/3686170.html
Copyright © 2011-2022 走看看