国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

SQL技術(shù)內(nèi)幕三

2024-07-21 02:46:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
SQL技術(shù)內(nèi)幕三

Select

分析一個(gè)查詢實(shí)例

Select empid,year(orderdate) as orderYear,count(*) as orderCount

From dbo.orderInfo

where custid=71

group by empid,Year(orderdate)

having count(*) >1

order by empid

以上語(yǔ)句在sql server內(nèi)的執(zhí)行順序是 from--where--group by--having --select--order by

1.From

dbo為數(shù)據(jù)的架構(gòu),最好能顯示的表明,因?yàn)槿绻粚?xiě)數(shù)據(jù)庫(kù)仍舊會(huì)自動(dòng)解析,會(huì)額外有一些開(kāi)支,寫(xiě)完能明確的表示用的哪個(gè)架構(gòu)的哪個(gè)對(duì)象。

2.Where

指定一個(gè)謂詞或邏輯表達(dá)式

注意sql 是三值邏輯,因此true跟非false并不是完全一樣的,還有一種處于unknown的狀態(tài)。

3.Group by

分組后會(huì)影響后面的having select等,以后的操作均以組為對(duì)象

因?yàn)榫酆虾瘮?shù)只為每個(gè)組返回一個(gè)值,所以一個(gè)元素不再group by中出現(xiàn)時(shí),那么它只能作為聚合函數(shù)的輸入如count(PRice),而不能作為輸出

聚合函數(shù)都會(huì)忽略null但是count不會(huì)。

4.having

5.select 子句

在本例子中有兩個(gè)函數(shù)year重復(fù)調(diào)用,但是sql內(nèi)部會(huì)識(shí)別重復(fù)的函數(shù),只會(huì)去調(diào)用一次

select 查詢不會(huì)保證返回的數(shù)據(jù)為一個(gè)集合,不嫩保證唯一性,這個(gè)時(shí)候可以用distinct

使用星號(hào)*的幾個(gè)壞處,a。只能按照表的默認(rèn)列順序返回,如果在客戶端按照列索引取值,表修改時(shí)會(huì)造成問(wèn)題。b. 內(nèi)部需要解析列名,造成開(kāi)銷。

列名計(jì)算是不能使用別名,可以使用重復(fù)函數(shù)調(diào)用的方式。

6.order by

7.Top

可以select top(1) percent 選取前百分之一

8.Over子句,分組但能返回所有值

Select orderid,custid,val,sum(val) over() as totalvalue,sum(val) ove(partitionby custid) as custtotalvalue

from sales.ordervalues

9.row_number() rank dense_rank

10.謂詞

In like between

11. case


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 贵溪市| 东安县| 馆陶县| 阿坝县| 洪洞县| 绥德县| 闸北区| 旺苍县| 堆龙德庆县| 浦城县| 汉源县| 万年县| 江安县| 英超| 温宿县| 社旗县| 新野县| 维西| 兴安盟| 马山县| 海淀区| 盱眙县| 乐东| 崇信县| 北碚区| 右玉县| 苍南县| 栖霞市| 和平县| 潢川县| 武功县| 吕梁市| 宁远县| 双鸭山市| 武义县| 日喀则市| 哈密市| 唐山市| 巫溪县| 乐平市| 广东省|