服務(wù)熱線:400-0033-166
萬(wàn)商云集 - 企業(yè)數(shù)字化選用平臺(tái)

企業(yè)首選的

數(shù)字選用平臺(tái)

mysql中exists的用法是什么

2023-04-19 09:35:39 閱讀(149 評(píng)論(0)

SQL關(guān)于exists和in的區(qū)別和用法?

1.exist,notexist一般都是與子查詢一起使用.in可以與子查詢一起使用,也可以直接in(a,b.....)。 2.exist會(huì)針對(duì)子查詢的表使用索引.notexist會(huì)對(duì)主子查詢都會(huì)使用索引.in與子查詢一起使用的時(shí)候,只能針對(duì)主查詢使用索引.notin則不會(huì)使用任何索引.注意,一直以來(lái)認(rèn)為exists比in效率高的說(shuō)法是不準(zhǔn)確的。 in是把外表和內(nèi)表作hash連接,而exists是對(duì)外表作loop循環(huán),每次loop循環(huán)再對(duì)內(nèi)表進(jìn)行查詢。

mysql判斷表是否存在不存在就創(chuàng)建?

CREATETEMPORARYtableIFNOTEXISTSalarmLeveltb(devIDbigintnotnull,alarmLevelbigintnotnull);truncateTABLEalarmLeveltb;--清空表中的數(shù)據(jù)其中:alarmLeveltb為臨時(shí)表的名稱。小括號(hào)內(nèi)的是該臨時(shí)表的定義。功能:判斷臨時(shí)表alarmleveltb是否存在,若不存在則創(chuàng)建臨時(shí)表alarmLeveltb。

未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處