SQL必知必会-05

高级数据过滤

组合where子句

SQL允许多个where子句,可以是使用and关键字或or关键字进行连接。

and操作符

eg:select prod_id, pro_price, prod_name from products where vend_id = 'dll01' and prod_price <= 4;

and 用来指示检索满足所有给定条件的行。

or操作符

or操作符与and操作符相反,检索满足其中一个条件的行。

eg: select prod_name, prod_price from products where vend_id = 'dll01' or vend_id = 'brs01';

求值顺序

where子句可以包含任意数量的and和or操作符,允许两者结合使用。但是它们会有一个求值顺序。

SQL在处理or操作符前,会优先处理and操作符。如果需要优先处理or则可以使用括号括起来。(多使用括号来进行语义的分割)

eg:select prod_name, prod_price from products where (vend_id = 'dll01' or vend_id = 'brs01')and prod_price >= 10;

in操作符

in操作符用来指定条件范围,范围中的每个条件都可以进行匹配。

eg:select pro_name, prod_price from Products where vend_id in ('dll01', 'drs01');   检索vend_id的值为'dll01', 'drs01'的行。

in操作符和or操作符很相像。

in操作符的好处:

  1、in操作符的语法更清楚,更直观。

  2、相对于and、or操作符,in的求值顺序更容易管理。

  3、in操作符比一组or操作符执行更快

  4、in操作符可以包含其他select语句,能够动态的构建where子句。

not操作符

where子句中not操作符有且只有一个功能,就是否定其后的条件。

猜你喜欢

转载自www.cnblogs.com/sunshine-2018/p/11423024.html