练习用表:
组合WHERE子句
为了进行更强的过滤控制,MySQL允许给出多个WHERE子句。这些子句可以用两种方式使用:以AND子句的方式或OR子句的方式使用。
1、AND操作符
输入
SELECT supplier,name,price FROM shop WHERE supplier = 1001 AND price <= 10;
输出
这样便输出了供应商为1001且价格在10元以下的商品行。
注:AND 操作符还可以添加多个过滤条件,每添加一条就要使用一个AND。
2、OR操作符
输入
SELECT supplier,name,price FROM shop WHERE supplier = 1001 OR price <= 10;
输出
这样便输出了供应商为1001或者商品价格在10元以下的商品行。
3、计算次序
SQL语言中,在处理OR操作符前,优先处理AND操作符。比如:
输入
SELECT supplier,name,price FROM shop WHERE supplier = 1001 OR supplier = 1002 AND price <= 10;
输出
这样便输出了供应商为1001和价格小于10的供应商1002的商品行。
输入
SELECT supplier,name,price FROM shop WHERE (supplier = 1001 OR supplier = 1002) AND price <= 10;
输出
这样便优先组合了OR连接的子句,输出了供应商1001和1002两家中价格小于10的商品行。
注:任何时候使用具有AND和OR操作符的WHERE子句,都应该使用圆括号明确地分组操作符 。
IN操作符
IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配。
输入
SELECT supplier,name,price FROM shop WHERE supplier IN (1001,1002);
输出
NOT操作符
WHERE子句中的NOT操作符有且只有一个功能,那就是否定它之后所跟的任何条件。
输入
SELECT supplier,name FROM shop WHERE supplier NOT IN (1001,1002);
输出
这样就输出了除1001和1002之外所有供应商的商品行。