SQL AS关键字
AS关键字
1.as是别名关键字,换句话说就是重新给sql某个字段取个别名的关键字,但as本身并不改变sql的字段的名称,只是在使用的时候有时为了临时给某一字段重新命名而起的过渡作用,经常会用在多表某一字段名称不相同的情况下使用,我们先举个简单例子,然后再时候深入说一些。
我先来显示一下我表中所有的数据.
我来显示一下我数据库表中年龄大于20岁的,这条语句很简单.
select * from student where stuage >20;
我们看到已经用select把自己想要的结果显示出来了.

但是有个问题,如果我们是开发者,或许可以看懂.
如果是学生的家长,它不认识英文怎么办呢?这个时候,我们就需要转换成中文.
select
stuid as 编号,
stuname as 姓名,
stusex as 性别,
stuage as 年龄 ,
stuemail as 电子邮箱
from student where stuage >20;
当然,我们甚至可以把年龄是23岁设置显示为大龄,否则为正常.
select
stuid as 编号,
stuname as 姓名,
stusex as 性别,
case when stuage>='23' then '大龄' else '正常' end as 年龄 ,
stuemail as 电子邮箱
from student;
select
stuid as '编号',
stuname as [姓名],
stusex as 性别,
case when stuage>='23' then '大龄' else '正常' end as "年龄",
stuemail as 电子邮箱
from student;
大家注意看这次的写法,虽然我们显示和上一个没什么区别.
但是我们as后面别名的写法有的加括号,单引号,双引号,以及没有引号.
它们之间有什么区别呢?
这可是数据库的面试题.
2.在实际项目中,由于需要,我们先定义了一个sql可能用到的变量的类,分别定义为Id跟Name,然后通过构造函数我们可以看到,要从sql表中取Id跟Name字段的内容。
#region TTblRow 构造函数 /// <summary> /// TTblRow 构造函数 /// </summary> public TTblRow() { this.Id = -1; this.Name = string.Empty; } public TTblRow(DataRow dataRow) : this() { this.Id = DataRowHelper.GetValue<int>(dataRow, "Id"); this.Name = DataRowHelper.GetValue(dataRow, "Name"); } #endregion public int Id { get; set; } public string Name { get; set; }
但是呢,由于表非常多,每张表Id字段的命名是相同,但是‘’Name‘’字段却不相同了,而且是每张表都有自己的一个特殊的“”Name“”,那怎么办,那接下来如何写sql语句呢,就要用到我们的as关键字了
StringBuilder strSql = new StringBuilder(); strSql.Append("select Id, " + fldName + " as Name from " + tblName);
通过as,将fldName(字段名)临时重命名为Name,就可以对所有的表进行相应的数据操作了。

您的资助是我最大的动力!
金额随意,欢迎来赏!

我写的东西能让你能懂,那是义务
毕竟占用了你生命中的宝贵的时间和注意力
要是你还能喜欢我的作品,那就是缘分了
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的因为,我的写作热情也离不开您的肯定支持,感谢您的阅读,我是【青青子衿】!