在SQL语句中,可以同时包含多个条件,以限制查询结果并返回特定数据。这些条件可以使用布尔运算符(AND、OR和NOT)组合,以创建复杂且精确的查询。
AND运算符
AND运算符用于组合两个或多个条件,只有当所有条件都为true时,查询才会返回结果。例如:
sql
SELECT * FROM customers
WHERE age > 21 AND gender = 'male';
此查询将返回所有年龄大于21岁且性别为男性的客户。
OR运算符
OR运算符用于组合两个或多个条件,当任一条件为true时,查询都会返回结果。例如:
sql
SELECT * FROM products
WHERE category = 'electronics' OR category = 'books';
此查询将返回所有属于“电子产品”或“书籍”类别的产品。
NOT运算符
NOT运算符用于取反条件,即如果条件为true,返回false;如果条件为false,返回true。例如:
sql
SELECT * FROM employees
WHERE NOT salary > 10000;
此查询将返回所有工资不超过10000的员工。
布尔运算符优先级
布尔运算符具有优先级,其中NOT具有最高优先级,其次是AND,最后是OR。如果有多个运算符,则先执行优先级最高的运算符,依次类推。例如:
sql
SELECT * FROM orders
WHERE (status = 'shipped' OR status = 'delivered') AND total > 50;
此查询将返回所有状态为“已发货”或“已交付”且总价值大于50的订单。由于括号内的运算具有更高的优先级,因此将首先执行(status = 'shipped' OR status = 'delivered')部分。
包含多个条件的SQL语句示例
以下是一些包含多个条件的SQL语句示例:
sql
SELECT * FROM customers
WHERE age > 21 AND gender = 'male' AND location = 'New York';
SELECT * FROM products
WHERE category = 'electronics' OR category = 'books' AND price > 100;
SELECT * FROM orders
WHERE (status = 'shipped' OR status = 'delivered') AND total > 50 AND customer_id = 123;
通过同时使用多个条件,可以创建定制的查询,以检索满足特定要求的准确且相关的数据。