问题描述
比如 一张用户表,有 用户名称字段、等级字段、年龄字段。现在查询整张表,但是有个条件就是: 如果等级等于 5 级的就要判断他的年龄是否大于 5 岁,等级等于 5 级但年龄不大于5岁就不要查询。这样的查询语句应该怎么写?必须在数据库里做……不能用java代码过滤!
解决方案
selectfrom twhere (t.level <> 5 or (t.level = 5 and t.age >= 5) shishi
解决方案二:
select * from t where level != 5 or age > 5
解决方案三:
select t.* from t where t.level != 5 or (t.level = 5 and t.age > 5)
解决方案四:
select * from t where level != 5 || age > 5 这样就行了,如果level 不等于5,直接查询出来,如果等级等于5了,就走第二个条件判断
解决方案五:
select * from t where level = 5 and age <= 5 ?
时间: 2024-10-27 16:43:38