逻辑操作符 and or not xor 比较
参考:https://blog.csdn.net/weixin_42373127/article/details/88909814
1 and表示两个条件都满足时才会返回结果
2 or表示其中任意一个条件满足则返回结果
3 not当不满足条件时才会返回结果
4 xor当其中一个条件为真,另一个条件为假时才会返回结果
可以使用括号改变逻辑操作的优先级
详细讲解一下not 和 xor
一 not经常和其它操作符一起使用。例如:not in、not between 、not like、is not null
例: 得到那些未住在Stratford的球员的编号、姓名
select playerno,name
from players
where not(town='Stratford')
例:查找罚款金额不是25美元或者50美元的球员的编号
select playerno
from penalties
where amount not in (25,50);
二 例: 得到那些住在Stratford或者出生于1963年的球员的编号、姓名、出生日期,但是不包括那些住在Stratford并且出生于1963年的球员
select playerno,name,birth_date
from players
where (town='Stratford')
xor ((year(birth_date)='1963' );
三 成对比较:
例:找出获胜局数等于2并且输掉局数等于3的比赛的编号
SELECT matchno
FROM matches
WHERE (won,lost) = (2,3);
MySQL在内部把条件重写为(won=2) and (lost=3)
当比较操作符不是等号时,MySQL解析规则会 发生改变(例如:条件(2,4)>(1,3)并不等于(2>1) and (4>3),而是等于(2>1) or (2=1 and 4>3))