mysql中exists的用法是什么
2023-04-19 09:35:39 閱讀(149)
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)載時需注明出處