读书人

请教大家一条SQL语句的意思可以帮忙

发布时间: 2012-01-03 22:16:06 作者: rapoo

请问大家一条SQL语句的意思,可以帮忙指点一下吗?
SELECT UserID, TrueName, IndentityCard, Email, Mobile,
(SELECT CompanyName FROM Global_Company WHERE CompanyID = u.CompanyID) AS Company
FROM Global_User u where State = 1 and CompanyID = 1

我不太懂这个u,是指什么?特别是“WHERE CompanyID = u.CompanyID”里,u.CompanyID是指什么,
还有“FROM Global_User u ”如果u也是一个表的话,那么它和Global_User之间
是否要用 ", "隔开呀?
请大家帮帮忙指点一下。

[解决办法]
这样写u代表的就是Global_User这个表
[解决办法]
u 是个表的别名
[解决办法]
AS用处比较多.


Global_User u在这里u是Global_User的别称.
也就是说,在整个SQL语句里,u就是Global_User,Global_User就是u.

//---------------------------
(SELECT CompanyName FROM Global_Company WHERE CompanyID = u.CompanyID) AS Company
和 Company=(SELECT CompanyName FROM Global_Company WHERE CompanyID = u.CompanyID)
是一个意思.

至于有什么很具体的区别,有待与楼主对底层进行研究.看看F1上是怎么说的吧

我个人觉得,这个只是一个内容的两个写法.本质上没区别
[解决办法]
给表加别名的时候可以用 "as 别名 " 也可以直接跟别名
没有区别
给列取别名时 必须用 as

读书人网 >C#

热点推荐