您好,登錄后才能下訂單哦!
系統函數:
字符串函數:
select '運維工程師' + 姓名+ '的基本工資是:' +CAST (基本工資 as varchar(10))+'元'
from A1
where 職務='運維工程師'
#顯示A1表中所有運維工程師的姓名和基本工資,要求的顯示格式是
運維工程師 某某 的基本工資是 9000.00元
日期函數:
select DATEADD(dd,10,GETDATE())
#顯示距離當前10天之后的日期和時間
select 姓名,DATEDIFF (YY,出生日期,GETDATE ()) AS 年齡 from A1
#顯示A1表中所有人的姓名和年齡
select 姓名,DATENAME(YY,出生日期) AS 出生年份
from A1
where 出生日期 between '1990-1-1' and '1999-12-31'
#顯示A1表中所有90后員工的姓名和出生年份
聚合函數:
select SUM(基本工資) AS 總工資 from A1
#查詢A1表中所有員工基本工資的總和
select AVG(基本工資) AS 平均工資 from A1
#查詢A1表中所有員工的平均基本工資
select MAX (基本工資) AS 最高工資,MIN (基本工資) AS 最低工資 from A1
#查詢A1表中最高和最低的基本工資
select COUNT (*) AS 總行數 from A1
#查詢A1表中全部行數
select COUNT (出生日期) AS '90后人數'
from A1
where 出生日期 >='1990-1-1'
#查詢A1表中90后的員工人數
分組查詢:
select 職務,AVG (基本工資) AS 職務平均工資 from A1
group by 職務
#查詢A1表中每個職務的平均工資
select 職務,AVG (基本工資) AS 職務平均工資 from A1
group by 職務
having AVG (基本工資) <10000
#查詢A1表中平均工資小于10000的職務
select 職務,AVG (基本工資) AS 職務平均工資 from A1
where 姓名 !='小張'
group by 職務
having AVG (基本工資)<10000
#查詢A1表中平均工資小于10000的職務,但是不包括小張
數學函數:
select CEILING (AVG (基本工資)) AS 平均工資 from A1
#查詢A1表中所有人的平均工資,用 CEILING()取整
select 姓名,生日,DATEDIFF(yy,生日,getdate()) 年齡, DATEDIFF(dd,getdate(),DATEADD(yy,30,生日))
as 距離30歲天數 from A1
where DATEDIFF(yy,生日,GETDATE())<=30
order by 生日
#查詢未滿30歲的員工生日和年齡,并且計算出距離30歲的天數,以表格的形式顯示
select
'員工 '+姓名+
' 的生日是'+CONVERT(varchar(10),出生日期,111)+
',現在的年齡是 '+CAST(DATEDIFF (YY,出生日期,GETDATE ()) AS varchar(10))+'歲'+
',距離30歲生日還有 '+
CAST(DATEDIFF(DD,GETDATE (),DATEADD(yy,30,出生日期)) AS varchar(10))+'天'
from A1
where DATEDIFF (YY,出生日期,GETDATE ())<=30
order by 出生日期
#查詢未滿30歲的員工生日和年齡,并且計算出距離30歲的天數,將結果使用字符串拼接在一起
select 名稱, 種類,出廠日期 from A1
where 出廠日期>'2017-4-1'
#查詢A1表中出廠日期晚于2017年4月的水果信息
select 種類, SUM(成本) as 總成本 from A1
group by 種類
#分組查詢A1表中所有水果、蔬菜、堅果的總成本
select 名稱+'的出廠日期是:'+CONVERT(varchar(10),出廠日期,111) from A1
where 種類='水果'
#查詢A1表中所有水果的名稱和出廠日期,以特定格式拼接字符串,如“西瓜的出廠日期是:2017/05/06”
select 種類, AVG(成本) as 平局成本 from A1
group by 種類
having 種類='蔬菜'
#查詢A1表中所有蔬菜的平均成本
多表查詢
內聯接:只返回兩個數據幾個之間匹配關系的行,關鍵字是“inner join”
內聯接實現的兩種方法
select A.姓名,A.學校,B.職業
from A,B
where A.姓名=B.姓名
#在表A和表B中使用內連接查詢學生姓名、學校和職業
select A.姓名,A.學校,B.職業
from A inner join B
on A.姓名=B.姓名
#在表A和表B中使用內聯接查詢學生姓名、學校和職業
第二種方法可以加“where”子句
外聯接:
左外聯接:左側表位于主表,關鍵字是“left join”
實現方法
select A.姓名,A.學校,B.職業
from A left join B
on A.姓名=B.姓名
右外聯接:右側表位于主表,關鍵字是“right join”
實現方法
select A.姓名,A.學校,B.職業
from A right join B
on A.姓名=B.姓名
完整外聯接:左右表都為主表,關鍵字“full join”
select A.姓名,A.學校,B.職業
from A full join B
on A.姓名=B.姓名
交叉聯接:無條件聯接,就是左表中的每行和右表對應,相當于兩個表相乘,關鍵字是“cross join”
select A.姓名,A.學校,B.職業
from A cross join B
on A.姓名=B.姓名
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。