SQL通過一道建員工表代碼題,充分理解查詢“已按年齡排序的表”等題(老師代碼版)



create?table?EMP_DB(
EmpName?nvarchar(20)?not?null,
EmpSex?nvarchar(2)?check(Empsex='男'or?Empsex='女'),
EmpAge?int?check(Empage>0?and?Empage<=100),
address1?nvarchar(50),
tel?nvarchar(20),
E_mail?nvarchar(50),
EmpJoinTime?datetime?default(getdate())
)
??
???insert?into?EMP_DB?values('趙龍','男',25,'湖南省長沙市伍家?guī)X江南苑9棟203號','0731-4230123','zl@163.net','2005/10/5')
???insert?into?EMP_DB?values('李云','女',23,'湖南省長沙市東風(fēng)路東風(fēng)新村21棟502號','0731-4145268','zl@163.net','2003/7/3')
???insert?into?EMP_DB?values('孫一成','男',24,'湖南省株洲市601廠宿舍15棟308號','0732-8342567','zl@163.net','2002/2/11')
???insert?into?EMP_DB?values('林笑','男',27,'湖南省郴洲市人民醫(yī)院20棟301號','0731-4230123',null,'2006/1/5')
???insert?into?EMP_DB?values('衛(wèi)晴','女',23,'湖南省長沙市望月湖12棟403號','0731-4230123','zl@163.net','2007/3/5')
???insert?into?EMP_DB?values('張高','男',30,'湖南省株洲市601廠宿舍18棟122號','0731-4230123','zl@163.net','2004/2/11')
???select?*?from?EMP_DB
???--1.?查詢所有職員的所有信息
??????select?*?from?EMP_DB
--2.?查詢所有職員的姓名,電話,地址
select?EmpName?as?'姓名',tel?as?'電話',address1?as?'地址'from?EMP_DB(這里把列名進行了更改,之后查詢)
--3.?查詢所有女職員的詳細信息
select?*?from?EMP_DB?where?EmpSex='女'
--4.?查詢年齡在24到26歲之間的男職員的姓名,性別
select?empname?as?'姓名',empsex?as?'性別'?,empage?as?'年齡'from?EMP_DB
where?EmpAge?>=24?and?EmpAge<=26
--5.?查詢家住長沙的女職員的姓名,電話,地址
select?*?from?EMP_DB?where?address1
?like?'%長沙%'?and??empsex='女'
--6.?查詢李云,孫一成,林笑的電話,地址
select?empname?,tel?,address1?from?EMP_DB?where?EmpName='李云'?or?EmpName='孫一成'
?or?EmpName='林笑'
--7.?查詢郴洲和株洲的職員的姓名,性別,年齡
select?empname?as?'姓名',empsex?as?'性別',empage?as'年齡',address1?as?'地址'
from?EMP_DB?where?address1?like?'%郴洲%'?or?address1?like?'%株洲%'
--8.?查詢家住長沙,年齡在25到28歲之間的男職員的姓名
select?*?from?EMP_DB?where?address1?like?'%長沙%' (這里用了模糊查詢)
and?EmpAge?>=25?and?EmpAge<28?and?EmpSex='男'
--9.?查詢郵件地址為空的職員
select?*?from?EMP_DB?where?E_mail?is?null
--10.根據(jù)員工的年齡進行排序(從高到低),并給每個列取別名
select?* ,EmpAge?as?'年齡'?from?EMP_DB?order?by?EmpAge?desc(逗號不能少,若報錯則可能需要重新執(zhí)行表的代碼,或少了逗號)
ASC 表示升序、DESC 表示降序(在SQL中,英文大小寫不重要,不加ASC或DESC的話,就默認為升序)