» 游客:  注册 | 登录 | 会员 | 统计 | 帮助
斑竹的菜园子
 

作者:
标题: 在查询中使用组属判断 上一主题 | 下一主题
borneol
管理员




积分 10952
发贴 955
注册 2005-2-23
来自 重庆
状态 离线
#1  在查询中使用组属判断

在 Select 语句中有一个关健字“IN”,此即为组属判断,组属判断是为了判断一个表达式中的值是否与一组预设值中的某成员值相等,其预设值是一组用括号括起来的常数。

如果我们想查找表中省份字段为“北京”、“天津”、“上海”、“重庆”的所有记录。就可以使用这个IN运算来实现。代码如下:
Select * from City
where province in('北京','天津','上海','重庆')

这个语句等同于如下语句:
Select * from city
where Province = '北京' or
Province = '天津' or
province = '上海' or
province = '重庆'


以上两条语句虽然执行的结果都一个,但效率却相差很多,使用组属判断所花的时间可能比使用OR要快好多倍。特别是表中数据量越大,其执行速度也就相差越多。

同其它的查询范围相似,IN 也可以搭配 NOT 使用,表示排除某一组预设值之外的数据。如:
Select * from City
where province not in('北京','天津','上海','重庆')

这段代码和上面的代码正好相反,是想查找表中省份字段除“北京”、“天津”、“上海”、“重庆”之外的所有记录。



0200 1D 06 00 00 A0 86 01 00 FF FF 00 00 1E 06 00 00
         E-mail:webmaster@chenzhang.com
         MSN:borneol_net@hotmail.com
         Home page:www.chenzhang.com
0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2005-3-10 14:39
查看资料  发送邮件  访问主页  发短消息  QQ   编辑帖子  引用回复


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: