SQL 的一个SELECT语句解释一下.

来源:百度知道 编辑:UC知道 时间:2024/06/16 04:26:46
SQL 语句:

DECLARE @userId int

Select @userId=userid
FROM TableName

这个Select执行成功,但是啥都没有显示啊...

请高说一下.就是@userId=userid这里不懂...他不是放在where里.
他是放在select的字段里.这是怎么回事?
经过你们的提示...

我再次自己试了:

Declare @userId int
set @userId=1 --这里就算你怎么赋怎么也没有用的.
select @userId=userid FROM TableName

其实以上这个句是将TableName里的userid字段的所有值中的最后一个值赋给了@userId参数.

select userid from TableName
通过以上这句就可以看到.
userid
4
2
1
3
所以在
Declare @userId int
set @userId=1 --这里就算你怎么赋怎么也没有用的.
select @userId=userid FROM TableName
这些代码执行后,@userId是等于3的.

如果以下

select userid from TableName
通过以上这句就可以看到.
userid
1
2
3
4
那么
Declare @userId int
set @userId=1 --这里就算你怎么赋怎么也没有用的.
select @userId=userid FROM TableName
的@userId的最后值就是4了.

可以用:
Select @userId as 'UserId'看到结果.

这句话意思是给@uerId赋值

不过这句话有问题,如果TableName里有多条,
变量就是 数据库中最后一条userid

在这里的意思是给@userId 赋值
这时候如果 TableName 里面有多个userid
就会得到最后1条

你再打print @userId
就能看到了

DECLARE @userId int

Select @userId=userid
FROM TableName

Select @userId

@userId 这个是应该变量,是把找到的数据放到该变量里,不显示

你再select @userid 就有结果了