MySQL 同时使用AND和OR运算符
时间:2019-02-04 12:52:25 来源:igfitidea点击:
本MySQL教程将通过语法和示例说明了如何在MySQL查询中一起使用AND运算符和OR运算符。
当同时使用AND和OR时, 可以使用括号 ()指定运行优先顺序。
语法
MySQL中AND条件和OR条件的语法为:
WHERE condition1 AND condition2 ... OR condition_n;
参数 | 说明 |
---|---|
condition1,condition2,... condition_n | 指定筛选数据时使用的条件。 |
##MySQL 同时使用AND和OR运算符例子
示例-在SELECT语句使用AND和OR运算符
SELECT * FROM customers WHERE (state = 'California' AND last_name = 'Johnson') OR (customer_id > 30);
在California并且名字为Johnson的客户,和 customer_id大于30的客户都将被放到结果集中。
另外一个例子:
SELECT customer_id, last_name, first_name FROM customers WHERE (last_name = 'Johnson') OR (last_name = 'Anderson' AND state = 'California') OR (last_name = 'Smith' AND status = 'Active' AND state = 'Florida');
将返回下面这些客户:
- 名字为Johnson的
- 名字为Anderson并且在California州的
- 名字为Smith并且在Florida州,状态为Active的
示例-在INSERT语句中使用AND和OR运算符
INSERT INTO suppliers (SupplierID, ContactName) SELECT CustomerID, ContactName FROM customers WHERE (ContactName = 'Helen Bennett' OR ContactName = 'John Steel') AND CustomerID >= 16;
将来自customers表中的
ContactName是Helen Bennett或者John Steel
并且CustomerID大于或等于16的
所有CustomerID和ContactName记录插入suppliers表。
示例-在UPDATE语句中使用AND和OR运算符
UPDATE products SET UnitPrice = 0.9*UnitPrice WHERE SupplierID = 7 AND (CategoryID = 2 OR CategoryID = 3);
将id为7的供应商提供的位于2,3类的产品价格调整为原来的90%。
示例-带DELETE语句
DELETE FROM products WHERE SupplierID = 24 AND (CategoryID = 6 OR CategoryID = 7);
将供应商ID为24 并且类别为6,7的产品从数据库中删掉。