mysql的三值逻辑
mysql 使用的是三值逻辑:TRUE FALSE UNKNOWN。
任何与null值进行的比较都会与第三种值 UNKNOWN 做比较。这个“任何值”包括 null 本身。
所以mysql 提供了 is null 和 is not null 两种操作来对null做特殊判断
因此,在进行select查询时,如果查询到的值有为空的时候,在where语句中我们就需要再做一
个额外的条件判断 ,比如:'name is null';
举个栗子:
返回一个用户列表,列表中用户的年龄都不是18.
select name from user where age <> 18 or age is null
not in
select Name 'Customers' from Customers where Id not in(select CustomerId from Orders)
用来查询不在某个值集的数据
举个栗子:
查询user表中年龄不在18,15,20的用户
select name from user where age not in(18,15,20)
推荐:数据库入门
mod(a,b)
在sql中的意思是 a / b 的余数,如果某个字段需要是偶数或者奇数时就可以使用mod。
以id为例:
mod(id,2)=1 是指id是奇数。
mod(id,2)=0 是指id是偶数。
left()
left()函数是一个字符串函数,它返回具有指定长度的字符串的左边部分。
格式:left(str,length)。
if(exer,v1,v2)
语法结构是if(exer,v1,v2)
expr为一个表达式,表达式expr结果为ture,返回v1的值,为flase返回v2。
update salary set sex=if(sex='m','f','m')
标签:知识点,mysql,一些,null,where,id,select,mod From: https://blog.51cto.com/u_16040716/6472002