sql 语句中 结合 AND 和 OR 运算符需要注意点

论坛 期权论坛 脚本     
匿名技术用户   2020-12-30 08:15   1018   0

+-----+------+----------+--------+------------+------+---------+---------------------+
| id | uuid | username | domain | attribute | type | value | last_modified |
+-----+------+----------+--------+------------+------+---------+---------------------+
| 145 | 3333 | 0 | | usertype | 0 | manager | 1900-01-01 00:00:01 |
| 137 | 2222 | 0 | | permission | 0 | all | 2012-08-31 14:16:59 |
| 144 | 2222 | 0 | | usertype | 0 | manager | 1900-01-01 00:00:01 |
| 139 | 3333 | 0 | | permission | 0 | all | 2012-08-31 14:17:34 |
| 10 | 4445 | 0 | | usertype | 0 | manager | 1900-01-01 00:00:01 |
| 11 | 4445 | 0 | | permission | 0 | all | 2012-08-07 17:38:50 |
| 39 | 002 | 0 | | permission | 0 | all | 2012-08-20 13:55:42 |
+-----+------+----------+--------+------------+------+---------+---------------------+

如果想查询出attribute为usertype 并且value为manager 中uuid=2222 或者3333的数据。

必须要将或or使用括号括起来。如下:

select * from usr_preferences where attribute='usertype' and value='manager' and (uuid='2222' or uuid='3333');

查询结果如下:

+-----+------+----------+--------+-----------+------+---------+---------------------+
| id | uuid | username | domain | attribute | type | value | last_modified |
+-----+------+----------+--------+-----------+------+---------+---------------------+
| 144 | 2222 | 0 | | usertype | 0 | manager | 1900-01-01 00:00:01 |
| 145 | 3333 | 0 | | usertype | 0 | manager | 1900-01-01 00:00:01 |
+-----+------+----------+--------+-----------+------+---------+---------------------+

转载于:https://my.oschina.net/zhailibao2010/blog/75822

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP