国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 龙门县| 广元市| 穆棱市| 沂南县| 即墨市| 麻阳| 阿城市| 扎兰屯市| 黄平县| 中西区| 色达县| 舒城县| 大同县| 防城港市| 新建县| 布拖县| 平度市| 安平县| 比如县| 英吉沙县| 湟源县| 宁津县| 唐山市| 大宁县| 彰化县| 苏尼特右旗| 惠东县| 扎鲁特旗| 黑龙江省| 漠河县| 太湖县| 灵寿县| 沭阳县| 海丰县| 墨江| 土默特左旗| 肇庆市| 新干县| 凤山市| 阿鲁科尔沁旗| 固原市|