mysql查询,mysql查询的简单问题

这是一个载着有些温暖的阳光的早晨,不能说是风和日丽,也不能说是微风妩媚。这是一个烦躁的小街区,能够让三两四个圈得小车并驾齐驱,两边都是高楼大厦林立。走在街上就能发现有许多纵横交错的小道,也许小道里的人很多吧。这些小道就把这些高楼大厦圈在了他们围成的大格子里。
每天早晨经过,能遇见偶尔某个买菜的中年妇女,用一个薄塑料袋提着一小袋如同垃圾似地。乘着阳光,有种自由散漫的感觉。路上的车跑得飞一样的快,要不是有红灯的存在,或者车跟车拥挤的状态,那简直就是一路狂奔哟。
我工作是在一个高楼里,似乎有人居住的半商务楼。每天电梯里的人也不拥挤,迟去早去随时都能进入乘梯状态。工作是费事伤脑筋的事,每天要为别人想着怎么处理,怎么解决需求,怎么实现任务。看着电脑,看代码,写代码,改代码,测试在测试再测试,就这么一个良性循环。要下班了,程序进入服务器,运行测试,失败失败,又要加班加班,就进入头大的死循环。哎,本来是可以的,为什么驾到服务器就是问题呢,不管你信不信,反正我是信了。真是可歌可泣的程序啊。
站在高处看风景的确是风光无限好啊,透过高楼的窗外,如果能与外界的“哄哄哄嗡瓮”不绝于耳的声音屏蔽掉,那就是一片繁华都市的胜景了,安静、清新、自然,阳光披着的外衣正是温文尔雅。
好了,闲话不多说,来看这个简单的事吧!关于mysql的查询。
例如,我们希望的条件是:a=3 或者 b=3 或者 c=3,但是必须 m =1。如果不假思索,这当然很简单的语句了,那么我们会写成:select *(或者是你要显示的字段名)from table_name(这是你的表名)where a=3 or b=3 or c=3 and m=1。这个语句有问题吗?当然是没有的,但是执行的结果呢?肯定不是你想要的结果吧。语句没错,似乎逻辑也很合情合理,那为什么结果不正确呢?出现了并不是我们想要的结果,那就得找出我们错误的原因。根据查询的结果,不难看出,and后面的条件似乎没有作用,这是怎么回事呢?网上查查and or在mysql里的使用,难道是不能一起使用吗?结果有了,当然能一起使用,但是要注意优先级。这下就知道问题的所在了,他们是有运算优先级的。or的优先级低于and。执行了or,那and呢。所以语句应该这样改写:select *(或者是你要显示的字段名)from table_name(这是你的表名)where (a=3 or b=3 or c=3 )and m=1。把他们用括号括起来就可以了,这样就满足了我们要查询的结果。很简单吧。
问题是在不断实践中得到的,也是在实践中进行解决的,本文仅供参考,若有纰漏,望谅解指正........
Tags:  mysql查询

延伸阅读

最新评论

发表评论