SQL的几个语法

最近遇到几个之前没有遇到的SQL语法,觉得很有用处,所以在此分享给大家:
IF表达式

IF( expr1, expr2, expr3)

expr1的值为TRUE时,则返回值为expr2
expr1的值为FALSE时,则返回值为expr3
如下:

select  if(TRUE,1,2);
返回1

select  if( FALSE,1,2);
返回2

例:找出售价为50的Java数,将其标注为“已售完”

select *,if(book_name='java','已卖完','有货') as product_status from book where price =50

IFNULL表达式

IFNULL( expr1, expr2)

判断第一个参数expr1是否为NULL:
如果expr1不为空,直接返回expr1;
如果expr1为空,返回第二个参数expr2;
常用在算数表达式和组函数中,用来对null值进行转换处理(返回值是数字或者字符串)

“CASE -WHEN -THEN”表达式
1.简单case函数

case  列名
when  条件值1  then  选项1
when  条件值2  then  选项2
...
else  默认值(其他)  end

语义:
将case后的列名分别与每个when句子后面的条件值进行相等比较,如果一旦和某个when子句后面的值相等,则返回相应的then子句后面的值,如果和所有的when子句后面的值都不相等,则返回else子句后面的值,如果没有else则返回null。
例如:


case1.PNG

2.case搜索函数

case  
when  列名=条件值1  then  选项1
when  列名=条件值2  then  选项2
...
else  默认值  end

语义:
如果when后面的条件语句为TRUE,则返回相应when子句后面的值;
如果所有的when子句后面的条件语句都为FALSE,则返回else子句后面的值;
如果没有else部分,则返回null
例如:

case2.PNG
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 12,348评论 5 116
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,748评论 0 38
  • 官网:http://www.sqlite.org/lang.html (他人的中文翻译http://blog.cs...
    liboxiang阅读 9,359评论 0 6
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,826评论 0 9
  • 东海,波涛万顷。 夕阳余晖落尽之处却有一扁舟随波飘摇。 浊浪翻滚,那小小的扁舟好像随时会在风浪里支离破碎,却又每次...
    婷渝Tiffany阅读 1,768评论 1 0