文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>第五章 高级数据过滤

第五章 高级数据过滤

时间:2010-12-01  来源:simpleisbest

为了进行更强的过滤控制,SQL语句允许给出多个WHERE子句。可以通过两种方式组合WHERE语句
1、AND子句的方式 2、OR子句的方式
1.AND操作符
    AND用在WHERE子句中的关键字,用来指示检索满足所有给定条件的行。
SELECT prod_id, prod_price, prod_name FROM Products WHERE vend_id = 'DLL01' AND prod_price <= 4;--检索由供应商DLL01制造且价格小于等于4元的产品
2.OR操作符
    OR用在WHERE子句中的关键字,用来表示检索匹配任一个给定条件的行。
SELECT prod_name, prod_price FROM Products WHERE vend_id = 'DLL01' OR vend_id = 'BRS01';--检索由任一指定供应商制造的所有产品。
3.计算次序
    WHERE可包含任意数目的AND和OR操作符。允许两者结合以进行复杂和高级的过滤。混合使用AND和OR操作符需要注意一个操作符优先级的问题。
    SQL在处理OR操作符前,优先处理AND操作符。因此需要使用圆括号明确分组相应的操作符。
例: SELECT prod_name, prod_price FROM Products WHERE (vend_id = 'DLL01' OR vend_id = 'BRS01') AND prod_price >= 10;
4.IN操作符          IN WHERE子句中用来指定要匹配值的清单的关键字,功能与OR相当。
    IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配。IN取合法值的又逗号分隔的清单,全部括在圆括号中。
SELECT prod_name, prod_price FROM Products WHERE vend_id IN ('DLL01', 'BRS01') ORDER BY prod_name;
等价于
SELECT prod_name, prod_price FROM Products WHERE vend_id = 'DLL01' OR vend_id = 'BRS01' ORDER BY prod_name;
使用IN操作符的好处
  • 在使用长的合法选项清单中,IN操作符的语法更清楚且更直观。
  • 在使用IN时,计算的次序更容易管理
  • IN操作符一般比OR操作符清单执行更快
  • IN的最大优点是可以包含其他SELECT语句,使得能够更动态地建立WHERE子句。
5.NOT操作符
    NOT WHERE子句中用来否定后跟条件的关键字。NOT可以放在过滤的列前。

SELECT prod_name FROM Products WHERE NOT vend_id = 'DLL01' ORDER BY prod_name;
等效于
SELECT prod_name FROM Products WHERE vend_id <> 'DLL01' ORDER BY prod_name;
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载