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

企業(yè)首選的

數(shù)字選用平臺

mysql中exists的用法是什么

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

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

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

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

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

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