MYSQL AND 和 OR

我们查询数据的时候,会使用条件来过滤数据,达到筛选效果,过滤不要的数据,获取我们需要的。
 
最基本的就是WHERE子句 查询:SELECT * FROM cs_user WHERE id = 10
这样,我们可以查询出 id = 10 的数据。这是一个单项选择题一样,只有一个条件过滤。
 
那么在一个表里:
 
 
我若,只要年龄(age) 在18-20之间的数据(包含18和20)。那么用上面的 WHERE 子句,单个条件,是难以获取到我们想要的效果的,这时候,and和or 就来了,英语即时是初级的同学都明白,and 和 or的意思吧。。
 
AND(and) 并且
 
OR(or) 或者
 
理解它不难,但是实际运用,刚开始学习,逻辑可能理不清楚,就很麻烦了。我们看一下:
 
AND:SELECT * FROM cs_user WHERE age >= 18 AND age <= 20
 
图:
 
 
对比cs_user表内,大于等于18 并且 小于等于20 ,正好两条数据
 
OR:SELECT * FROM cs_user WHERE age >= 18 or age <= 20
 
看图:
 
 
 
对比 AND 和 OR:
 
1.写法无差异,他们最大的差异只有两点:1是一个是 and 一个是 or;2是本身的含义,and(并且)、or(或者)
 
2.and 要满足所有条件,必须满足 age >= 18  也要满足   age <= 20 ,两者必须同时成功才可以显示对应条件下的数据,否则没有
 
or 则是只要满足一条即刻,它获取了 age >= 18 的数据,将其显示, 然后再获取  age <= 20 将其显示
 
简明的说:and必须满足所有条件;or满足一个条件即刻
 
例子:
用户登陆操作,你在后台做数据判断,你会这样:用户名 和 密码 必须都正确才能登陆,这样的话,就需要 and 
 
用户找回账号,手机短信 或者 密保找回 都可以,这是一个选项条件, 就可以用到 or
 
原文地址:https://www.cnblogs.com/alter888/p/12578520.html