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