码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SQL中CASE的用法


            在SQL中,CASE语句是一种条件表达式,用于根据条件执行不同的操作。它有两种形式:简单CASE表达式和搜索CASE表达式。

            简单CASE表达式的语法如下:

    1. CASE expression
    2. WHEN value1 THEN result1
    3. WHEN value2 THEN result2
    4. ...
    5. ELSE result
    6. END

            其中,expression是要比较的值或表达式,value1、value2等是与expression进行比较的可能值,result1、result2等是与对应value匹配时返回的结果,ELSE部分是当expression与所有value都不匹配时返回的结果。

            举个例子,假设有一个名为gender的字段,值为'M'、'F'或其他值,我们想要根据gender的值返回不同的结果:

    1. SELECT
    2. gender,
    3. CASE gender
    4. WHEN 'M' THEN 'Male'
    5. WHEN 'F' THEN 'Female'
    6. ELSE 'Unknown'
    7. END AS gender_description
    8. FROM
    9. employees;

            搜索CASE表达式的语法如下:

    1. CASE
    2. WHEN condition1 THEN result1
    3. WHEN condition2 THEN result2
    4. ...
    5. ELSE result
    6. END

            其中,condition1、condition2等是要判断的条件,result1、result2等是与对应condition匹配时返回的结果,ELSE部分是当所有condition都不匹配时返回的结果。

            举个例子,假设有一个名为salary的字段,我们想要根据salary的值返回不同的等级:

    1. SELECT
    2. salary,
    3. CASE
    4. WHEN salary >= 10000 THEN 'High'
    5. WHEN salary >= 5000 THEN 'Medium'
    6. ELSE 'Low'
    7. END AS salary_level
    8. FROM
    9. employees;

            这样就可以根据不同的条件返回不同的结果。CASE语句在SQL中非常有用,可以用于条件判断、数据转换和结果分类等场景。

    注意:在SQL中,CASE语句按顺序评估每个条件,并返回第一个满足条件的结果。如果有多个条件都满足,只会执行第一个满足条件的结果。

            所以使用 case 可以避免同一条数据因为处理前后分别满足了不同的条件,从而导致一条数据被多次处理的情况。

  • 相关阅读:
    MongoDB聚合运算符:$zip
    DVWA靶场环境搭建_SQL注入模拟靶机
    提升80%上云集成效率, TA是如何做到的
    力扣练习——链表在线OJ
    Mac 切换 JDK 版本
    NoSQL 与传统数据库的集成
    基于51单片机的智能红外遥控防雨晾衣架 雨滴光强检测系统proteus仿真原理图PCB
    《安富莱嵌入式周报》第289期:开源回流焊,首发开源跨平台电路仿真软件,用于电气化学的电位仪,超炫酷的双语音模拟合成器,逆向工程师对波音787适航指令的看法
    【FreeRTOS】互斥锁的使用
    HCIP--网络笔记(1)
  • 原文地址:https://blog.csdn.net/qq_57182209/article/details/132791919
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号