[转帖]MySQL学习足迹记录05--数据过滤--AND,OR,NOT,IN_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2287 | 回复: 0   主题: [转帖]MySQL学习足迹记录05--数据过滤--AND,OR,NOT,IN        下一篇 
masy
注册用户
等级:少校
经验:1234
发帖:182
精华:0
注册:2011-11-4
状态:离线
发送短消息息给masy 加好友    发送短消息息给masy 发消息
发表于: IP:您无权察看 2014-11-5 11:10:54 | [全部帖] [楼主帖] 楼主

1.AND操作符

     * 检索匹配满足所有给定条件的行

eg:

mysql> SELECT prod_id,prod_price,prod_name FROM products WHERE

-> vend_id =1003 AND prod_price<=10;

+---------+------------+----------------+

| prod_id | prod_price | prod_name      |

+---------+------------+----------------+

| FB      |      10.00 | Bird seed      |

| FC      |       2.50 | Carrots        |

| SLING   |       4.49 | Sling          |

| TNT1    |       2.50 | TNT (1 stick)  |

| TNT2    |      10.00 | TNT (5 sticks) |

+---------+------------+----------------+

5 rows in set (0.00 sec)

2.OR操作符

     *检索匹配满足给定任一条件的行

eg:

mysql> SELECT prod_name,prod_price FROM products

-> WHERE vend_id=1002 or vend_id=1003;

+----------------+------------+

| prod_name      | prod_price |

+----------------+------------+

| Detonator      |      13.00 |

| Bird seed      |      10.00 |

| Carrots        |       2.50 |

| Fuses          |       3.42 |

| Oil can        |       8.99 |

| Safe           |      50.00 |

| Sling          |       4.49 |

| TNT (1 stick)  |       2.50 |

| TNT (5 sticks) |      10.00 |

+----------------+------------+

9 rows in set (0.01 sec)

3.计算次序

     *WHERE可以包含任意数目的AND和OR操作符。

eg:

mysql> SELECT prod_name,prod_price FROM products

-> WHERE vend_id=1002 OR vend_id=1003 AND prod_price>=10;

#在处理OR操作符之前,AND操作符会被优先处理

+----------------+------------+

| prod_name      | prod_price |

+----------------+------------+

| Detonator      |      13.00 |

| Bird seed      |      10.00 |

| Fuses          |       3.42 |

| Oil can        |       8.99 |

| Safe           |      50.00 |

| TNT (5 sticks) |      10.00 |

+----------------+------------+

6 rows in set (0.00 sec)

4.用()改变计算次序

eg:

mysql> SELECT prod_name,prod_price FROM products

-> WHERE (vend_id=1002 OR vend_id=1003) AND prod_price >= 10;

#先计算OR,再计算AND

+----------------+------------+

| prod_name      | prod_price |

+----------------+------------+

| Detonator      |      13.00 |

| Bird seed      |      10.00 |

| Safe           |      50.00 |

| TNT (5 sticks) |      10.00 |

+----------------+------------+

4 rows in set (0.00 sec)

5.IN操作符

     *用来指定条件范围

eg:

mysql> SELECT prod_name,prod_price FROM products

-> WHERE vend_id IN (1002,1003)

-> ORDER BY prod_name;

+----------------+------------+

| prod_name      | prod_price |

+----------------+------------+

| Bird seed      |      10.00 |

| Carrots        |       2.50 |

| Detonator      |      13.00 |

| Fuses          |       3.42 |

| Oil can        |       8.99 |

| Safe           |      50.00 |

| Sling          |       4.49 |

| TNT (1 stick)  |       2.50 |

| TNT (5 sticks) |      10.00 |

+----------------+------------+

9 rows in set (0.00 sec)

上面的语句等效于:

mysql> SELECT prod_name,prod_price FROM products

-> WHERE vend_id =1002 OR vend_id = 1003

-> ORDER BY prod_name;

+----------------+------------+

| prod_name      | prod_price |

+----------------+------------+

| Bird seed      |      10.00 |

| Carrots        |       2.50 |

| Detonator      |      13.00 |

| Fuses          |       3.42 |

| Oil can        |       8.99 |

| Safe           |      50.00 |

| Sling          |       4.49 |

| TNT (1 stick)  |       2.50 |

| TNT (5 sticks) |      10.00 |

+----------------+------------+

9 rows in set (0.00 sec)

6.NOT操作符

     *否定它之后所跟的任何条件

eg:

mysql> SELECT vend_id,prod_price FROM products

-> WHERE vend_id NOT IN (1002,1003)

-> ORDER BY prod_name;

+---------+------------+

| vend_id | prod_price |

+---------+------------+

|    1001 |       5.99 |

|    1001 |       9.99 |

|    1001 |      14.99 |

|    1005 |      35.00 |

|    1005 |      55.00 |

+---------+------------+

5 rows in set (0.00 sec)

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论