多重条件: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()