日期:2014-05-20  浏览次数:20670 次

请问大家一条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