91在线一级黄片|91视频在线观看18|成人夜间呦呦网站|91资源欧美日韩超碰|久久最新免费精品视频一区二区三区|国产探花视频在线观看|黄片真人免费三级片毛片|国产人无码视频在线|精品成人影视无码三区|久久视频爱久久免费精品

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
AQL數(shù)據(jù)庫中notin操作的使用方法(aql數(shù)據(jù)庫中notin)

AQL是一種基于ArangoDB數(shù)據(jù)庫的查詢語言,它的語法特點類似于SQL,具有良好的可讀性和可維護(hù)性。其中not in操作是AQL語言中常用的一種操作符,用于判斷一個值是否不在另一個中。本文將介紹not in操作的語法和使用方法,以便讀者更好地掌握AQL語言的技能。

一、not in操作的語法

在AQL語言中,not in操作的語法格式如下:

“`

expression NOT IN (setExpression)

“`

其中,expression表示需要進(jìn)行判斷的值,setExpression表示用于判斷的。這個可以是一個數(shù)組,也可以是一個subquery查詢結(jié)果。

二、not in操作的使用方法

not in操作的本質(zhì)是一個布爾運算,它返回一個布爾值,表示expression是否不在setExpression中。在實際應(yīng)用中,not in操作有多種用法,主要有以下兩種:

1、判斷值是否不在數(shù)組中

判斷一個值是否存在于一個數(shù)組中,可以使用not in操作符。例如,以下AQL語句可以判斷”apple”是否不在fruits數(shù)組中:

“`

FOR fruit IN fruits

FILTER “apple” NOT IN fruit

RETURN fruit

“`

其中,fruits是一個數(shù)組,fruit表示數(shù)組中的每一個元素,如果結(jié)果集包含的元素中不包含”apple”,那么該元素就會被返還。相反,如果結(jié)果集中包含”apple”,那么該元素就不會被返回。

2、判斷值是否不在subquery子查詢的結(jié)果中

在AQL語言中,not in操作也可以用于子查詢中,用于判斷一個值是否不在subquery子查詢的結(jié)果中。例如,以下AQL語句可以判斷“user1”是否不是book表中的作者:

“`

FOR b IN book

FILTER b.author NOT IN (

FOR u IN user

FILTER u.name == “user1”

RETURN u.following

)

RETURN b

“`

其中,book和user分別為book表和user表。這個AQL語句會先在user表中查詢名為”user1″的記錄,然后查詢這個用戶關(guān)注的所有用戶,返回這個作為not in操作中的setExpression。它會在book表中查詢出所有不屬于這個作者的書籍,并將它們作為結(jié)果集返回。

三、not in操作的實際應(yīng)用

not in操作在實際應(yīng)用中有廣泛的場景,例如:

1、過濾掉排除中的數(shù)據(jù)

not in操作可以用于過濾掉排除中的數(shù)據(jù),例如在查詢出某個用戶的好友列表時,如果需要排除掉某些用戶,可以使用not in操作。

2、根據(jù)關(guān)聯(lián)表的數(shù)據(jù)推算出數(shù)據(jù)缺失的情況

not in操作還可以根據(jù)關(guān)聯(lián)表的數(shù)據(jù),推算出當(dāng)前數(shù)據(jù)是否缺失,例如在查詢出用戶的評價信息時,如果評價表中缺失了某些用戶的評價信息,就可以使用not in操作來判斷。此時,setExpression就等于用戶表,expression就等于評價表中的用戶ID,通過對比兩個之間的差異,就可以得出缺失數(shù)據(jù)的信息。

以上就是not in操作在AQL語言中的使用方法和實際應(yīng)用場景,希望本文能夠幫助讀者更好地掌握AQL語言的技能。

相關(guān)問題拓展閱讀:

  • 存儲過程SQL語句 not in問題
  • sql not in問題

存儲過程SQL語句 not in問題

樓上的不排除投機(jī)取巧(褒義)呵呵、

如果user真的有存在的房號,人不在房間的問題,不與username比較是不是也顯示不出來了呢。呵呵!

select roomid,’房間號不存在’

from

where roomid not in (select distinct roomid from room )

union all

select roomid,’此人不在此房間中’

from

where username not in (select a.username from room a, b where a.roomid = b.roomid and a.username = b.username)

and roomid not in (select roomid

from

where roomid not in (select distinct roomid from room ))

這個就OK了。

下面操作必須執(zhí)行,要篩選人和房間的匹配哦,雖然辦法垃圾,只是在外層查詢篩選不存在的房間,不過也是一種辦法哦。呵呵!~

第二問題我不是很明白你的意思。代替值為空可以用ISNULL。

select roomid,’房間號不存在‘

from user

where roomid not in (select distinct roomid from room )

union all

select username,’此人不在此房間中’

from user

where not exists (select a.username from room a,user b where a.roomid = b.roomid and a.username = b.username)

這樣應(yīng)該行了

select roomid

,status = isnull((select 1 from room where user.roomid = roomid)

,’房間號不存在‘)

from user

union all

……

sql not in問題

這個效率肯定是很慢的,因為不羨擾游單單是not in效率較低,group by效率也高不到哪兒去!

這種情況可以看出是由于設(shè)計表時進(jìn)行了錯誤的分析,導(dǎo)致出現(xiàn)了大量的冗余。

id->地址.id->地區(qū),地址->地區(qū)

這是函數(shù)依賴關(guān)系,也就李正是說如果id是主鍵的情況下,存在者有屬性對非主屬性的兄銷依賴,這張表不符合2NF,所以會出現(xiàn)大量的冗余,而這個才是效率低下的真正原因!也就是說你的語句上的只是效率問題,而數(shù)據(jù)庫才是執(zhí)行慢的真正原因!如果合理的數(shù)據(jù)庫,存在1K左右的記錄,就算你還使用group by與not in也不會等到10分鐘的!

NOT IN速度當(dāng)然很慢,因為這樣會存在兩個全表檢索的情況,使用NOT EXISTS會快很多。

delete from t_b where exists (select 1 from t_b a where isnull(a.cost,0) > isnull(t_b.cost,0) and a.cost t_b.cost)

DELETE FROM CIDZ WHERE EXISTS (SELECT 1 FROM CIDZ A WHERE A.ID >模則 CIDZ.ID)

這個旦咐棚刪除之后,會只剩下這個表中ID更大的一行,沒有別的連接條件了么?如果這么已刪除,表中只剩下一行了,我覺得你的意思是不是只留下每個地址分組后ID更大的簡汪一行???

關(guān)于aql數(shù)據(jù)庫中not in的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨立服務(wù)器。創(chuàng)新互聯(lián)——四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,高電服務(wù)器托管,算力服務(wù)器租用,可選線路電信、移動、聯(lián)通機(jī)房等。


標(biāo)題名稱:AQL數(shù)據(jù)庫中notin操作的使用方法(aql數(shù)據(jù)庫中notin)
新聞來源:http://m.jiaoqi3.com/article/coeehds.html