Adams小乙

2022-01-12   阅读量: 26

数据库基础

SQL学习——高级过滤:AND,OR,IN,NOT与WHERE组合子句

SQL允许给出多个WHERE子句,这些子句以AND和OR的方式使用。

AND操作符可以同时过滤多列内容:

SELECT prod_id, prod_price, prod_name FROM Products WHERE vend_id = ‘DLL01’AND prod_price <=4;

#检索供应商为DLL01且价格小于等于4的所有产品和名称。

OR操作符可以指示DBMS检索匹配任一条件的行:

SELECT prod_name, prod_price FROM Products WHERE vend_id = ‘DLL01’ OR vend_id = ‘BRS01’;

#检索供应商为DLL01和BRS01的所有产品名称和价格。

求值顺序:注意当一行SQL语句中同时包含OR和AND,那么优先处理AND操作符。而实际应用中,可以通过小括号‘()’来将优先执行的操作:

SELECT prod_name, prod_price FROM Products

WHERE (vend_id = ‘DLL01’OR vend_id = ‘BRS01’) AND prod_price >= 10;

#先检索供应商为DLL01和BRS01的产品,再在其中筛查出价格大于10的产品,返回产品名和产品价格列。

IN操作符可以指定检索区间:

SELECT prod_name, prod_price FROM Products WHERE vend_id IN (‘DLL01’, ‘BRS01’) ORDER BY prod_name;

#在供应商为DLL01和BRS01的产品中检索产品名和产品价格,并以产品名升序排序。

NOT操作符:与其他操作符配合使用来去否定结果。

SELECT prod_name FROM Products WHERE NOT vend_id = ‘DLL01’ORDER BY prod_name;

#检索供应商不是DLL01的产品名并以产品名升序排序。

当然,在数值检索的时候,可以直接使用<>来实现,效果等同。


353.4506 6 0 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子