成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server基礎(chǔ):Apply關(guān)鍵字用法介紹

數(shù)據(jù)庫(kù) SQL Server
APPLy關(guān)鍵字是SQLServer版本中開始提供的一個(gè)系統(tǒng)關(guān)鍵字。APPLY的功能同聯(lián)接很類似,APPLY運(yùn)算分左右兩個(gè)部分.

[[393784]]

1、概念介紹

APPLy關(guān)鍵字是SQLServer版本中開始提供的一個(gè)系統(tǒng)關(guān)鍵字。

APPLY的功能同聯(lián)接很類似,APPLY運(yùn)算分左右兩個(gè)部分,

APPLY的右表達(dá)式:左表達(dá)式的每一行都和右表達(dá)式進(jìn)行一次計(jì)算,即右表達(dá)式需要根據(jù)左表達(dá)式提供的值進(jìn)行相關(guān)計(jì)算來(lái)獲取相關(guān)結(jié)果,然后返回給客戶端。

APPLY的右表達(dá)式:是一個(gè)子查詢或表值函數(shù)。

2、APPLY運(yùn)算符和聯(lián)接查詢區(qū)別

APPLY:先進(jìn)行左表達(dá)式的數(shù)據(jù)獲取,然后根據(jù)左表達(dá)式的記錄依次對(duì)右表達(dá)式的值進(jìn)行相關(guān)獲取。

聯(lián)接:先對(duì)左右兩張表進(jìn)行笛卡爾乘積運(yùn)算。

3、APPLY運(yùn)算符的語(yǔ)法格式

CROSS APPLY:內(nèi)部聯(lián)接,兩張表直接連接,不需要任何的關(guān)聯(lián)條件,產(chǎn)生的結(jié)果就是這兩張表的笛卡兒集等價(jià)于CROSS JOIN;

CROSS Apply 和 CROSS JOIN的區(qū)別:Cross Apply 可以在關(guān)聯(lián)表子查詢中用前一個(gè)關(guān)聯(lián)表的字段的值,CROSS JOIN不可以。

比如:

  1. SELECT * FROM t1 a CROSS APPLY t2 b WHERE a.id=b.id  
  2. --相當(dāng)于 inner join  
  3. SELECT * FROM t1 a CROSS JOIN t2 b WHERE a.id=b.id --報(bào)錯(cuò) 

OUTER APPLY:左外聯(lián)接,右側(cè)的表表達(dá)式返回一個(gè)空集合,CROSS APPLY運(yùn)算符不會(huì)返回相應(yīng)的左側(cè)行,即OUTER APPLY和在派生表上進(jìn)行LEFT JOIN是等同的

  1. SELECT * FROM t1 a OUTER APPLY (select * from t2 where id=a.id) b  
  2. -- 相當(dāng)于 left join。 

4、Cross Apply 用途

4.1 配合表值函數(shù)使用

如果查詢結(jié)果集需要用到表值函數(shù)對(duì)某個(gè)字段的值進(jìn)行處理的話,可以使用CROSS APPLY。

4.2 top子查詢的用法

-- 查詢語(yǔ)文第一名,數(shù)學(xué)前兩名,英語(yǔ)前五名的name,學(xué)科,分?jǐn)?shù),用cross apply實(shí)現(xiàn)方法如下

  1. SELECT b.* FROM ( 
  2. select Subject='Chiness',num=1  
  3. union all 
  4. select 'Math',3 union all 
  5. select 'English',5 
  6. )a cross apply (select top(a.num) * from Students  
  7. where Subject=a.Subject )b 

 

責(zé)任編輯:姜華 來(lái)源: IT技術(shù)分享社區(qū)
相關(guān)推薦

2021-10-13 06:49:13

SQL Server優(yōu)化

2011-06-21 09:50:51

volatile

2009-08-21 14:58:56

C# this關(guān)鍵字

2010-11-12 14:49:28

SQL Server外

2010-07-23 14:32:43

SQL Server

2009-12-17 13:57:15

Ruby關(guān)鍵字

2023-11-10 09:29:30

MySQLExplain

2011-02-25 14:42:10

SQLwith關(guān)鍵字

2024-12-26 00:28:59

C#base?關(guān)鍵字

2011-06-27 15:08:15

SEO

2024-06-04 17:02:38

newC#編程語(yǔ)言

2018-04-20 15:56:09

Pythonglobal關(guān)鍵字

2013-01-30 10:12:14

Pythonyield

2021-08-26 09:50:06

鴻蒙HarmonyOS應(yīng)用

2009-09-17 09:30:00

Linq LET關(guān)鍵字

2022-01-04 16:35:42

C++Protected關(guān)鍵字

2012-03-01 12:50:03

Java

2009-09-02 09:24:03

C# this關(guān)鍵字

2009-09-07 18:53:46

static關(guān)鍵字

2010-05-10 11:16:14

Oracle ESCA
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 乱码av午夜噜噜噜噜动漫 | 久久久精品 | 亚洲区在线 | 中文字幕亚洲精品 | 一级片av| 欧美久久久久久久 | 日韩亚洲视频在线 | 成人免费一区二区三区牛牛 | 一区二区在线看 | 午夜影院视频 | 久久久999精品| 一级做a爰片久久毛片免费看 | 中文字幕在线国产 | 欧美视频一区 | 一区二区视频在线观看 | 99草免费视频 | 亚洲视频欧美视频 | 国产一级视频在线 | 国产精品久久久久久久久久妇女 | 免费的一级视频 | 欧美不卡网站 | 久久精品一区二区 | 中文字幕国产精品视频 | 99精品视频在线观看免费播放 | 久久免费香蕉视频 | 精品在线一区 | 91在线观看 | 一区二区三区中文字幕 | 天天综合网7799精品 | gav成人免费播放视频 | 日本精品一区二区三区在线观看视频 | 久久久精彩视频 | 成人在线播放网站 | 99精品99久久久久久宅男 | 亚洲成人高清 | 中文字幕精品一区久久久久 | 国产一区二区中文字幕 | 玖玖综合在线 | 尤物在线视频 | 人人玩人人添人人澡欧美 | 操操日|