猿问

想了解一下,mysql where 1什么意思?

慕森王
浏览 1104回答 3
3回答

慕田峪4524236

这要看你如何用它,毕仅where 1=1这种表达式真假判断是要产生系统开销的。用得其所可提高效率减小开销,反之亦然。例如:select * from t1 where 1=1;等效于select * from t1;前者where 1=1必然为真,此判断为画蛇添足,属于无用功、徒增系统开销。如果只需要查看数据表字段信息无需查看具体记录,那么下列写法将非常可取select * from t1 where 1<>1;这样系统将直接输出空记录集,而不会花费资源检索具体的记录数据到内存中,这无疑会提高了效率。

倚天杖

SELECT b.id FROM t_address a, t_unit b WHERE b.utj=1 AND b.ufreeze=2 AND a.id=b.uads and a.sid=3就这个啦!!原因很简单b.utj=1不满足的话,那么系统就直接找下一个数据用的in的话,如果第一个不满足,那么就匹配第二个,第二个不满足,在匹配第三个,全部不匹配 才找下一条数据!!这个就可以看到了,可能用IN的话,效率可能会减慢3倍,打个比方

繁华开满天机

第一种 exists与not existsselect * from table1 t1 where exists(select columnName from table2 t2 where t1.columnName2 = t2.columnName2)第二种,in,not in的用法select * from table1 where columnName in(select columnName from table2 where columnNane = 'condition')第三种,any,all与比较运算的用法-- 与任意一个比较返回真select * from table1 where columnName > any(select columnName from table2 where columnNane = 'condition')-- 与所有的值比较返回真select * from table1 where columnName > all(select columnName from table2 where columnNane = 'condition')
随时随地看视频慕课网APP
我要回答