在SQL語句中,可以給表和列起別名,這是臨時的別名,與同義詞不一樣,同義詞是永久的別名。
別名是多表查詢和嵌套查詢語句的基礎知識,本文只介紹別名的語法,不涉及別名的應用技巧,大家在學習的時候可能覺得別名沒什么意義,其實不然。
一、生成測試數據
用以下SQL創建超女基本信息表(T_GIRL),插入一些測試數據。
create table T_GIRL
(
id char(4) not null, -- 編號
name varchar2(30) not null, -- 姓名
yz varchar2(20) null, -- 顏值
sc varchar2(20) null, -- 身材
weight number(4,1) not null, -- 體重
height number(3) not null, -- 身高
birthday date not null, -- 出生時間
memo varchar2(1000) null -- 備注
);
insert into T_GIRL(id,name,yz,birthday,sc,weight,height,memo)
values('0101','西施','漂亮',to_date('2000-01-01 01:12:35','yyyy-mm-dd hh24:mi:ss'),
'火辣',48.5,170,'這是一個非常漂亮姑娘,老公是夫差,男朋友是范蠡。');
insert into T_GIRL(id,name,yz,birthday,sc,weight,height,memo)
values('0102','貂禪','漂亮',to_date('1997-08-02 12:20:38','yyyy-mm-dd hh24:mi:ss'),
'苗條',45.2,168,'王允真不是男人,干不過董卓就把美人往火坑里推,千古罪人啊。');
insert into T_GIRL(id,name,yz,birthday,sc,weight,height,memo)
values('0103','妲已','漂亮',to_date('1998-03-03 10:50:33','yyyy-mm-dd hh24:mi:ss'),
'火辣',53.6,172,'如果商真的因我而亡,您們男人做什么去了?');
insert into T_GIRL(id,name,yz,birthday,sc,weight,height,memo)
values('0104','芙蓉姐姐','豬扒',to_date('1980-05-05 10:11:55','yyyy-mm-dd hh24:mi:ss'),
'膘肥體壯',85.8,166,'如果不努力學習技術,將來就會娶個芙蓉姐姐,哼哼。');
二、表和列的別名
我們先來看一個SQL語句。
select id,name,yz,sc,to_char(birthday,'yyyy-mm-dd hh24:mi:ss') from T_GIRL;
select語句返回結果集的列標題是列名,如果對列用了函數就是函數的文本。
試試別名:
select id 編號,name 姓名,yz 顏值,sc 身材,to_char(birthday,'yyyy-mm-dd hh24:mi:ss') 生日
from T_GIRL 超女基本信息表;
1、列的別名
列的別名有兩種寫法:
1)直接在列后面加空格寫別名,例如:name 姓名。
2)使用as在列后面再寫別名,例如:name as 姓名。
別名可以直接書寫,如果別名中有特殊字符,如數字、單引號和空格,就用雙引號將別名括起來。
2、表的別名
表的別名與列的別名不同的地方就是表的別名不能用as。
三、注意事項
1、列的別名
列的別名這種說法不准確,准確的說法是結果集的列的別名,以下用示例來證明。
1)列的別名不能用在where子句中。
select id 編號,name 姓名 from T_GIRL where id='0101';
select id 編號,name 姓名 from T_GIRL where 編號='0101';
以上兩條SQL語句,第一條是正確的,第二條會報錯。
2)列的別名可以用於order by關鍵字中。
select id 編號,name 姓名 from T_GIRL order by id;
select id 編號,name 姓名 from T_GIRL order by 編號;
以上兩條SQL語句都是正確的。
四、版權聲明
C語言技術網原創文章,轉載請說明文章的來源、作者和原文的鏈接。
來源:C語言技術網(www.freecplus.net)
作者:碼農有道
如果文章有錯別字,或者內容有錯誤,或其他的建議和意見,請您留言指正,非常感謝!!!