真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SQLserver中常見的函數(shù)類型有哪些

這篇文章主要介紹了SQL  server中常見的函數(shù)類型有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)是一家專業(yè)提供秀嶼企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為秀嶼眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

既然是高級查詢,那么使用函數(shù)也將是必不可少的,常見的函數(shù)類型有以下幾種:
SQL  server中常見的函數(shù)類型有哪些SQL  server中常見的函數(shù)類型有哪些SQL  server中常見的函數(shù)類型有哪些

常見的高級查詢語法舉例:

顯示test表中所有運(yùn)維工程師的姓名和基本工資,要求以下格式:
運(yùn)維工程師XXX的基本工資是:XXXXX元。

語法格式如下:

select '運(yùn)維工程師'+姓名+'的基本工資是:'+CAST(基本工資 as varchar(10))+'元'
from test where 職務(wù)='運(yùn)維工程師'

顯示距離當(dāng)前10天之后的日期和時間:

select DATEADD(DD ,10,GETDATE())

顯示test表中所有人的姓名和年齡:

select 姓名, DATEDIFF(YY,出生日期,GETDATE()) 年齡 from test

顯示test表中所有90后員工的姓名和出生年份:

select 姓名,DATENAME(YY,出生日期) 出生年份 from employee
where 出生日期 between '1990-01-01' and '1999-12-31'

聚合函數(shù)與分組查詢:

聚合函數(shù)能夠基于列進(jìn)行計(jì)算,并返回單個值,分組查詢是指將查詢結(jié)果按條件分組,然后使用聚合函數(shù)返回每個組的匯總信息,分組查詢一般是用來滿足統(tǒng)計(jì)需求的。

常用的聚合函數(shù)有:SUM( )、AVG( )、MAX( )、M I N( )、COUNT( )。

SUM( ):用來返回表達(dá)式中所有數(shù)值的總和,它只能用于數(shù)字類型的列,不能匯總字符、日期等。

如:查詢test表中所有員工基本工資的總和

select SUM(基本工資) 總工資 from  test

AVG( ):用來返回表達(dá)式中所有數(shù)值的平均值,它也只能用于數(shù)字類型的列。

查詢test表中所有員工的平均基本工資

select AVG(基本工資) 平均工資 from  test

MAX( )、M I N( ):前者用來返回表達(dá)式中的最大值,后者用來返回表達(dá)式中的最小值。它們都可以用于數(shù)字型、字符型及日期/時間類型的列。

如:查詢test表中的最高工資和最低工資:

select MAX(基本工資) 最高工資,MIN(基本工資) 最低工資 from  test

COUNT():返回表達(dá)式中非空值的技術(shù),可以用于數(shù)字和字符類型的列,也可使用星號*作為COUNT()函數(shù)的表達(dá)方式,使用星號*可以不必指定特定的列而計(jì)算所有的行數(shù)。

查詢test表中全部行數(shù):

select COUNT(*) from test

查詢test表中所有90后的人數(shù):

select COUNT(出生日期) '90后人數(shù)' from test
where 出生日期>='1990-01-01' and 出生日期<='1999-12-31'

分組查詢:就是將表中的數(shù)據(jù)通過GROUP  BY的子句分類組合,再根據(jù)需要得到要統(tǒng)計(jì)的信息。如果需要對分組進(jìn)行篩選,只顯示滿足限定條件的組,需要時用HAAVING子句。

查詢test表中每個職務(wù)的平均工資:
select 職務(wù),AVG(基本工資)   職務(wù)平均工資 from test  group by 職務(wù)

查詢test表中平均工資小于10000的職務(wù):

select 職務(wù),AVG(基本工資) 平均工資 from test  group by 職務(wù) having AVG(基本工資)<10000

當(dāng)group  by  子句中使用having 子句時,查詢結(jié)果只返回滿足having條件的組。在一個T-SQL語句中可以有where子句和having子句,having子句與where子句類似,均用于設(shè)置限定條件。二者作用的區(qū)別如下:

①:where子句的作用是在對分組查詢結(jié)果進(jìn)行分組之前,根據(jù)where條件篩選數(shù)據(jù),條件中不能包含聚合函數(shù)。
②:having子句的作用是在分組之后篩選滿足條件的組,條件中經(jīng)常包含聚合函數(shù),也可以使用多個分組標(biāo)準(zhǔn)進(jìn)行分組。

查詢test表中平均工資小于10000的職務(wù),前提是員工張三不計(jì)算在內(nèi):

 select 職務(wù),AVG(基本工資) 平均工資 from employee
  where 姓名!='張三'
  group by 職務(wù) having AVG(基本工資)<10000

SQL  server中常見的函數(shù)類型有哪些

查詢test表中所有人的平均工資,用CEILING( )取整

select CEILING(AVG(基本工資)) 平均工資 from test

函數(shù)的綜合應(yīng)用:

查詢未滿30歲的員工的生日和年齡,并且計(jì)算出距離30歲的天數(shù),最后用字符串拼接顯示結(jié)果:

①:查詢正確的結(jié)果

select 姓名,出生日期,DATEDIFF(YY,出生日期,GETDATE()) 年齡,
  DATEDIFF(DD,GETDATE(),DATEADD(YY,30,出生日期)) 距離三十歲的天數(shù)
  from test
  where DATEDIFF(YY,出生日期,GETDATE())<=30
  order by 出生日期

②將結(jié)果用字符串拼接:

select '員工'+姓名+'的生日是:'+CONVERT(varchar(10),出生日期,111)+
  ',現(xiàn)在年齡是'+CAST(DATEDIFF(YY,出生日期,GETDATE()) AS varchar(10))
  +'歲'+',距離三十歲還有'+
  CAST( DATEDIFF(DD,GETDATE(),DATEADD(YY,30,出生日期)) AS varchar(10))+'天'
  from employee
  where DATEDIFF(YY,出生日期,GETDATE())<=30
  order by 出生日期

最終查詢顯示結(jié)果如下圖所示:
SQL  server中常見的函數(shù)類型有哪些

多表查詢的案例:
案例①

使用T-SQL實(shí)現(xiàn)多表查詢(內(nèi)聯(lián)接、左外聯(lián)接、右外聯(lián)接、全聯(lián)接/完整外聯(lián)接):
原表如下:
SQL  server中常見的函數(shù)類型有哪些表A
SQL  server中常見的函數(shù)類型有哪些表B

使用內(nèi)聯(lián)接在表A和表B中使用內(nèi)聯(lián)接查詢學(xué)生姓名、學(xué)校和職業(yè)。(兩種查詢方式)

select a.name 姓名,a.school 學(xué)校,b.name,b.job 
from A,B
where a.name=b.name

或:

select a.name 姓名,a.school 學(xué)校,b.name,b.job 
from A inner join B on a.name=B.name

查詢結(jié)果如下:
SQL  server中常見的函數(shù)類型有哪些

使用左外聯(lián)接查詢在表A和表B中使用內(nèi)聯(lián)接查詢學(xué)生姓名、學(xué)校和職業(yè)。

select a.name 姓名,a.school 學(xué)校,b.name,b.job 
from A left join B on a.name=B.name

查詢結(jié)果如下:
SQL  server中常見的函數(shù)類型有哪些

使用右外聯(lián)接查詢在表A和表B中使用內(nèi)聯(lián)接查詢學(xué)生姓名、學(xué)校和職業(yè)。

select a.name 姓名,a.school 學(xué)校,b.name,b.job 
from A right join B on a.name=B.name

查詢結(jié)果如下:
SQL  server中常見的函數(shù)類型有哪些

使用完整外聯(lián)接查詢在表A和表B中使用內(nèi)聯(lián)接查詢學(xué)生姓名、學(xué)校和職業(yè)。

select a.name 姓名,a.school 學(xué)校,b.name,b.job 
from A full join B on a.name=B.name

查詢結(jié)果如下:
SQL  server中常見的函數(shù)類型有哪些

案例②

原表如下 :

SQL  server中常見的函數(shù)類型有哪些

查詢出廠日期晚于2011年4月的水果信息。

select * from products
where 種類='水果'
and 出廠日期>'2011-04-01'

查詢結(jié)果如下:
SQL  server中常見的函數(shù)類型有哪些

分組查詢所有水果、蔬菜、堅(jiān)果的總成本。

select 種類,SUM(成本) from products
group by 種類

查詢結(jié)果如下:
SQL  server中常見的函數(shù)類型有哪些

查詢所有水果的名稱和出廠日期,以特定格式拼接字符串,如:“西瓜的出廠日期是:2017/05/06”

select 種類+'的出廠日期是:'
+CONVERT(varchar(10),出廠日期,111)
from products

查詢結(jié)果如下:
SQL  server中常見的函數(shù)類型有哪些

查詢所有蔬菜的平均成本:

select 種類,AVG(成本)
from products
group by 種類
having 種類='蔬菜'

查詢結(jié)果如下:

SQL  server中常見的函數(shù)類型有哪些

案例②(多表查詢):
原表如下:

表products和表sales

SQL  server中常見的函數(shù)類型有哪些

SQL  server中常見的函數(shù)類型有哪些

在兩個表中查詢產(chǎn)品的名稱、種類、成本、銷售地點(diǎn)和銷售價格:

select products.名稱,products.種類,
products.成本,sales.銷售地點(diǎn),sales.銷售價格
from products inner join sales 
on products.名稱=sales.名稱

查詢結(jié)果如下:

SQL  server中常見的函數(shù)類型有哪些

在兩個表中查詢銷往海南的產(chǎn)品名稱、種類、成本和銷售價格:

select products.名稱,products.種類,
products.成本,sales.銷售價格
from products inner join sales 
on products.名稱=sales.名稱
and sales.銷售地點(diǎn)='海南'

查詢結(jié)果如下:

SQL  server中常見的函數(shù)類型有哪些

在兩個表中查詢銷往北京的蔬菜名稱、種類、成本和銷售價格:

select products.名稱,products.種類,
products.成本,sales.銷售價格
from products inner join sales 
on products.名稱=sales.名稱
and sales.銷售地點(diǎn)='北京'
where 種類='蔬菜'

查詢結(jié)果如下:
SQL  server中常見的函數(shù)類型有哪些

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“SQL  server中常見的函數(shù)類型有哪些”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!


網(wǎng)頁題目:SQLserver中常見的函數(shù)類型有哪些
文章分享:http://weahome.cn/article/jhohei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部