多重条件:AND / OR / NOT
57.13 多重条件:AND / OR / NOT
AND 全部满足;OR 满足其一;NOT 取反。
复杂条件用括号:(A OR B) AND C,避免优先级搞错。
组合示例:一班且分数≥90;分数<70 或 无邮箱。
组合条件
import pymysql
conn = pymysql.connect(host='127.0.0.1', user='root', password='root', database='py_demo', charset='utf8mb4')
try:
with conn.cursor() as cur:
cur.execute(
'SELECT name, score, class_name FROM students WHERE class_name=%s AND score>=%s',
('一班', 90)
)
print('一班优等生:', cur.fetchall())
cur.execute(
'SELECT name, score FROM students WHERE score < %s OR email IS NULL',
(70,)
)
print('低分或无邮箱:', cur.fetchall())
cur.execute(
'SELECT name FROM students WHERE NOT (score BETWEEN %s AND %s)',
(60, 80)
)
print('不在60~80:', cur.fetchall())
finally:
conn.close()