SQL AS關鍵字


AS關鍵字

 

1.as是別名關鍵字,換句話說就是重新給sql某個字段取個別名的關鍵字,但as本身並不改變sql的字段的名稱,只是在使用的時候有時為了臨時給某一字段重新命名而起的過渡作用,經常會用在多表某一字段名稱不相同的情況下使用,我們先舉個簡單例子,然后再時候深入說一些。

 

我先來顯示一下我表中所有的數據.

sql語句as關鍵字的使用.

 

我來顯示一下我數據庫表中年齡大於20歲的,這條語句很簡單.

select * from student where stuage >20;

我們看到已經用select把自己想要的結果顯示出來了.

sql語句as關鍵字的使用.

 

但是有個問題,如果我們是開發者,或許可以看懂.

如果是學生的家長,它不認識英文怎么辦呢?這個時候,我們就需要轉換成中文.

select 

stuid as 編號,

stuname as 姓名,

stusex as 性別,

stuage as 年齡 ,

stuemail as 電子郵箱

from student where stuage >20;

sql語句as關鍵字的使用.

 

 

當然,我們甚至可以把年齡是23歲設置顯示為大齡,否則為正常.

select 

stuid as 編號,

stuname as 姓名,

stusex as 性別,

case when stuage>='23' then '大齡' else '正常' end as 年齡 ,

stuemail as 電子郵箱

from student;

sql語句as關鍵字的使用.

 

 

select 

stuid as '編號',

stuname as [姓名],

stusex as 性別,

case when stuage>='23' then '大齡' else '正常' end as "年齡",

stuemail as 電子郵箱

from student;

大家注意看這次的寫法,雖然我們顯示和上一個沒什么區別.

但是我們as后面別名的寫法有的加括號,單引號,雙引號,以及沒有引號.

它們之間有什么區別呢?

這可是數據庫的面試題.

sql語句as關鍵字的使用.

 

 

如果我們把電子郵箱中間加上空格.  電子 郵箱.

那么我們這條sql語句就報錯了.

但是 '編    號'[姓    名]  "年          齡"是都可以加空格的.

注意看下面圖中圈到的部分.

sql語句as關鍵字的使用.

 

 

單引號代表的是字符串.

方括號是為了避免和系統的關鍵字沖突.

select 

[stuid] as '編    號',

[stuname] as [姓         名],

[stusex] as [性別],

case when [stuage]>='23' then '大齡' else '正常' end as "年      齡",

[stuemail] as [電子郵箱]

from [student];

比如像這樣的寫法.. 

雙引號是ansi-sql的一個美國國家標准協會.

其實跟方括號一個意思.

只不過一個是標准的,一個是后來微軟又增加了的.

sql語句as關鍵字的使用.

 

 2.在實際項目中,由於需要,我們先定義了一個sql可能用到的變量的類,分別定義為Id跟Name,然后通過構造函數我們可以看到,要從sql表中取Id跟Name字段的內容。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#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關鍵字了

 

1
2
StringBuilder strSql =  new  StringBuilder();         
strSql.Append( "select Id, "  + fldName +  " as Name from "  + tblName);

通過as,將fldName(字段名)臨時重命名為Name,就可以對所有的表進行相應的數據操作了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM