首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL,多个if语句,还是其他语句?

问SQL,多个if语句,还是其他语句?
EN

Stack Overflow用户
提问于 2014-01-15 05:31:16
回答 4查看 24.6K关注 0票数 1

我是SQl的新手,我试着自己学习。

我正在学习if和the语句在SQL中的用法。

下面是我试图使用的数据,在下表中的if或let语句中,我希望使用sql查询根据年龄更新注释,如果年龄在22岁到25岁之间,则注释“未毕业”。

代码语言:javascript
复制
Age: 26 to 27, comments " post graduate"
Age: 28 to 30, comments "working and single"
Age: 31 to 33, comments " middle level manager and married"

表名:人员

代码语言:javascript
复制
personid  lastname  firstname   age comments
1         Cardinal  Tom         22
2         prabhu    priya       33
3         bhandari  abhijeet    24
4         Harry     Bob         25
5         krishna   anand       29
6         hari      hara        31
7         ram       hara        27
8         kulkarni  manoj       35
9         joshi     santosh     28
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-01-15 05:42:04

如何用例

用CASE语句尝试

代码语言:javascript
复制
Select personid,lastname,firstname,age,
       Case when age between 26 and 27 then 'post graduate'
            when age between 28 and 30 then 'working and single' 
            when age between 31 and 33 then ' middle level manager and married' 
            Else 'Nil'
       End comments 
from persons
票数 6
EN

Stack Overflow用户

发布于 2014-01-15 05:41:18

我可能会用一个案例语句

有点像

代码语言:javascript
复制
SELECT  *,
        CASE
            WHEN age BETWEEN 22 AND 25 
                THEN 'under graduate'
            WHEN age BETWEEN 26 AND 27
                THEN 'post graduate'
            WHEN age BETWEEN 28 AND 30 
                THEN 'working and single'
            WHEN age BETWEEN 31 AND 33
                THEN 'middle level manager and married'
            ELSE 'TADA'
        END Comment
FROM    persons
票数 1
EN

Stack Overflow用户

发布于 2014-01-15 07:12:48

根据您的要求,我们不能使用if...else语句。Case..when语句将是最合适的。还有一件事我们不能在任何查询中使用if...else (我指的是在select、insert、update内部)。

还有你的

代码语言:javascript
复制
Select personid,lastname,firstname,age,
   Case when age between 26 and 27 then 'post graduate'
   Case when age between 28 and 30 then 'working and single' 
   Case when age between 31 and 33 then ' middle level manager and married' 
   Else 'Nil'
   End comments 
from persons
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21129766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档