第5课 高级数据过滤
这一课讲授如何组合WHERE子句建立功能更强、更高级的搜索条件。还将学习如何使用NOT和IN操作符。
组合WHERE子句
上一课时介绍的所有WHERE子句在在过滤数据时使用的都是单一的条件。为了进行更强的过滤控制,SQL允许给出多个WHERE子句。这些子句有两种使用方式,即以AND子句或OR子句的方式使用。
AND操作符
SELECT col_name1, col_name2, col_name3 FROM tablename WHERE col_name1='ABC' AND col_name2 <= 4;
OR操作符
SELECT col_name1, col_name2, col_name3 FROM tablename WHERE col_name1='ABC' OR col_name2 <= 4;
求值顺序
WHERE子句可以包含任意数目的AND和OR操作符。允许两者结合以进行复杂、高级的过滤。
注意:SQL在处理OR操作符前,优先处理AND操作符。使用圆括号即可解决此问题。
IN操作符
IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配。IN取一组由逗号分隔、括在圆括号中的合法值。
SELECT prod_name, prod_price FROM Products WHERE vend_in IN ('DLL01', 'BSLKJL') ORDER BY prod_name;
实际上,IN操作符完成了与OR相同的功能。但IN可以包含其他SELECT语句。
NOT操作符
WHERE子句中的NOT操作符有且只有一个功能,那就是否定其后所跟的任何条件。
SELECT prod_name FROM Products WHERE NOT vend_id='DLL01' ORDER BY prod_name;