我对使用哪种方法感到有些困惑。我的要求是这样的:
假设有一个名为user_master
的表。它有以下几个方面:
user_id user_name pwd status
。
活动时状态字段为“A”,非活动状态时为“I”
我想要的是根据用户ID检查用户是否处于活动状态。所以什么更好
A)SELECT <any_one_field> FROM user_master WHERE user_id = 'some_user_id' AND status = 'A';
然后检查超过0行
OR
B)SELECT status FROM user_master WHERE user_id = 'some_user_id';
然后比较'A'Active或'I'Inactive的状态字段值。
根据以下情况更好, 在A中,只有SQL而在B中,有SQL +编程语言的东西。 在此先感谢!
答案 0 :(得分:1)
它可以记录那些活跃的人
SELECT * FROM user_master WHERE status ='A';
如果您的user_id处于活动状态,此查询将返回
SELECT <any_one_field> FROM user_master WHERE user_id = 'some_user_id' AND status = 'A';
此查询返回particluar user_id状态
SELECT status FROM user_master WHERE user_id = 'some_user_id';
答案 1 :(得分:1)
对于A点,它已根据用户标识和状态标准进行过滤,在sql执行时间内它更快,但是当你不知道用户的状态时你将选择选项B,它将返回你想要的用户标识和状态处理下一个业务流程。