日期:2014-05-18  浏览次数:20547 次

一个小Sql字符串
select ISNULL(D.SN,'2011') SN,
问题一:“ISNULL”的意思是如果“D.SN”为空,那么“SN”取“2011”对吗?

D.U,
U.V,
UX.ECV,
UCX.V CUV,
 D.E,
 '' EN,
问题二:为什么“EN”前面可以加一对“ '' ”,这样合法吗?作用和意义是什么?

 '' R,
 '' RN,
 '' F,
 '' FN,
  I.B, 
  I.BN,
  '' D,
  '' DN,
  '' C, 
  '总量' CN,
问题三:这个怎么是汉字“总量”,后面才是字段名称。还是意思是“CN”字段的值为“总量”???

  [01],
  [02],
  [03],
  [04],
  [05],
  [06],
  [07],
  [08],
  [09],
  [10],
  [11],
  [12] 
  
  from 
  (select B.buildingno as B,B.BuildingName as BN from Building B where B.buildingno in ('310000Fa001')) I

问题四:“in”和“=”有什么差别?不一样吗?

问题五:“I”表示什么呢?后面是左连接呢。

  left join 
  (

------解决方案--------------------
1、是的
2、用 '' 表示这一列的值,字段名是 EN
3、用 '总量' 表示这一列的值,字段名是 CN
4、in表示某个范围,=表示某个确定的值
5、from后括号中的子查询最后要加个别名,不然语法错误,别名是什么可以随便取。
------解决方案--------------------
探讨

1、是的
2、用 '' 表示这一列的值,字段名是 EN
3、用 '总量' 表示这一列的值,字段名是 CN
4、in表示某个范围,=表示某个确定的值
5、from后括号中的子查询最后要加个别名,不然语法错误,别名是什么可以随便取。

------解决方案--------------------
1.对
2.合法、表示取个名为EN的空列
3.“CN”字段的值为“总量”
4.in(值1,值2,...值n)表示在一个集合中进行匹配
而 = 只能与等号右边的值进行匹配
5.别名
------解决方案--------------------
问题一:“ISNULL”的意思是如果“D.SN”为空,那么“SN”取“2011”对吗?
--> 准确来讲是D.SN为null则返回"2011",数据库里的空和null是不同的.

问题二:为什么“EN”前面可以加一对“ '' ”,这样合法吗?作用和意义是什么?
--> 列名是EN,内容全为空('').

问题三:这个怎么是汉字“总量”,后面才是字段名称。还是意思是“CN”字段的值为“总量”???
--> 列名是CN,内容全为"总量".

问题四:“in”和“=”有什么差别?不一样吗?
--> in可以带一个集合,=则只能带一个值.

问题五:“I”表示什么呢?后面是左连接呢。
--> I是子查询结果集的别名. select.. from ([子查询]) I
------解决方案--------------------
探讨

1、是的
2、用 '' 表示这一列的值,字段名是 EN
3、用 '总量' 表示这一列的值,字段名是 CN
4、in表示某个范围,=表示某个确定的值
5、from后括号中的子查询最后要加个别名,不然语法错误,别名是什么可以随便取。

------解决方案--------------------
探讨
引用:

1、是的
2、用 '' 表示这一列的值,字段名是 EN
3、用 '总量' 表示这一列的值,字段名是 CN
4、in表示某个范围,=表示某个确定的值
5、from后括号中的子查询最后要加个别名,不然语法错误,别名是什么可以随便取。

别名 都省略了 as

------解决方案--------------------
探讨

1、是的
2、用 '' 表示这一列的值,字段名是 EN
3、用 '总量' 表示这一列的值,字段名是 CN
4、in表示某个范围,=表示某个确定的值
5、from后括号中的子查询最后要加个别名,不然语法错误,别名是什么可以随便取。