MySQL-- if()函数 简单明白

打印 上一主题 下一主题

主题 1965|帖子 1965|积分 5895

 if 主要有:IF函数嵌套和IF+聚合函数 两类,主要是用来根据条件返回差异值。

根本语法为;
  1. IF(条件表达式,值1,值2)
复制代码


  • 假如条件表达式为True,返回值1,为False,返回值2.
  • 返回值可以是任何值,比如:数值,文本,日期,空值,NULL,数学表达式,函数等。
1、IF函数

实例1:在门生表中,将1995年以后出生的门生划分为2班,将1995年(包括1995)之前的门生划分为1班,最后显示Sname,Sage,所在班级这三列。
  1. select
  2. Sname as '学生姓名',
  3. Sage as '学生年龄',
  4. IF(YEAR(Sage)<=1995,'1班','2班') as '所在班级'
  5. from students ORDER BY Sage;
复制代码

2、IF函数嵌套



  • 当分类大于两种或者以上时,就可以使用IF函数嵌套。
实例2:在门生表中,将门生编号小于等于3的门生,分为1班,门生编号在4-6的门生,分为2班,门生编号大于等于7的门生,分为3班,最后显示Sid,Sname,所在班级这三列。
  1. select
  2. Sid as '学生编号',
  3. Sname as '学生姓名',
  4. IF(
  5.         Sid <= 3,'1班',
  6.         IF(Sid >= 7,'3班','2班')
  7.         ) as '所在班级'
  8. from students
  9. order by Sid
复制代码

3、IF + 聚合函数



  • IF 还经常与聚合函数一起联合使用
实例3:将门生表和教师联合使用,计算班主任所带的门生数目,大于等于5人以上的显示:5人以上,人数小于5人的显示:5人以下。
  1. select
  2. t.Tname as '老师姓名',
  3. count(*) as '人数',
  4. IF(
  5.         count(*) >= 5,'5人以上','5人以下'
  6. ) as '分类'
  7. from teachers as t
  8. join students as s
  9. using(Tid)
  10. GROUP BY t.Tname
复制代码

 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

笑看天下无敌手

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表