`
liyuandong
  • 浏览: 331671 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SQL中Case的妙用(二)

SQL 
阅读更多

二,用一个SQL语句完成不同条件的分组。 

有如下数据 

国家(country)

性别(sex)

人口(population)

中国

1

340

中国

2

260

美国

1

45

美国

2

55

加拿大

1

51

加拿大

2

49

英国

1

40

英国

2

60


按照国家和性别进行分组,得出结果如下 

国家

中国

340

260

美国

45

55

加拿大

51

49

英国

40

60

 

 

普通情况下,用UNION也可以实现用一条语句进行查询。但是那样增加消耗(两个Select部分),而且SQL语句会比较长。 
下面是一个是用Case函数来完成这个功能的例子

 

SELECT country,

 

       SUM( CASE WHEN sex = '1' THEN 

 

                      population ELSE 0 END),  --男性人口

 

       SUM( CASE WHEN sex = '2' THEN 

 

                      population ELSE 0 END)   --女性人口

FROM  Table_A

 

GROUP BY country;

 

 

这样我们使用Select,完成对二维表的输出形式,充分显示了Case函数的强大。 

三,在Check中使用Case函数。 

在Check中使用Case函数在很多情况下都是非常不错的解决方法。可能有很多人根本就不用Check,那么我建议你在看过下面的例子之后也尝试一下在SQL中使用Check。 
下面我们来举个例子 
公司A,这个公司有个规定,女职员的工资必须高于1000块。如果用Check和Case来表现的话,如下所示

 

CONSTRAINT check_salary CHECK

 

           ( CASE WHEN sex = '2'

 

                  THEN CASE WHEN salary > 1000

 

                        THEN 1 ELSE 0 END

 

                  ELSE 1 END = 1 )


如果单纯使用Check,如下所示 

CONSTRAINT check_salary CHECK

 

           ( sex = '2' AND salary > 1000 )


女职员的条件倒是符合了,男职员就无法输入了。

分享到:
评论

相关推荐

    SQL中case语法的使用

    ### SQL中的Case语法使用详解 在SQL查询语言中,`CASE`语句是一个非常重要的功能,它可以用来构建复杂的条件逻辑,实现对数据的灵活处理。本文将深入探讨SQL中的`CASE`语法及其应用场景。 #### 一、基本概念 `...

    SQL中Case语句用法讨论_BJ

    ### SQL中的Case语句深入解析 在SQL查询语言中,`Case`语句是一个非常强大的功能,用于在查询中执行条件判断,它可以根据不同的条件返回不同的结果,这使得SQL能够处理更加复杂的数据筛选和转换需求。`Case`语句有...

    SQL中case的使用

    SQL中Case的使用方法 Case具有两种格式。简单Case函数和Case搜索函数。

    sql数据库 转 Access SQL语句改写之 Case When Then When Then Else End

    在进行SQL到Access SQL的转换过程中,一个重要的知识点是了解如何将SQL中的`CASE WHEN THEN`结构转换为Access中的等效表达式。在SQL中,`CASE WHEN THEN`是一种常用的条件表达式,用于根据不同的条件返回不同的值。...

    SQLsevrer CASE用法

    ### SQL Server 中 CASE 表达式的深入解析与应用实例 #### 概述 在 SQL Server 数据库管理系统中,`CASE` 表达式是一种非常强大的工具,用于在查询语句中进行条件判断和数据处理。它允许用户根据指定的条件返回...

    sql妙用(绝妙的sql语句)

    在SQL Server中,可以使用`EXEC`或`sp_executesql`存储过程执行动态SQL。例如,当字段名、表名或数据库名作为变量时,需要使用动态SQL。需要注意的是,字符串前加上`N`表示该字符串是Unicode,如`N'select * from ...

    sql语法的各种妙用

    ### SQL语法的各种妙用 #### 一、动态执行SQL语句 在SQL中,我们可以使用动态执行SQL语句的方式来进行一些灵活的操作。这种方式通常适用于那些需要在运行时确定查询细节的情况。 **示例代码:** ```sql DECLARE ...

    SQL__case_when_then_的用法

    SQL__case_when_then_的用法

    sql中case语句的用法浅谈

    SQL中Case的使用方法 Case具有两种格式。简单Case函数和Case搜索函数。 代码如下:–简单Case函数 CASE sex  WHEN ‘1’ THEN ‘男’  WHEN ‘2’ THEN ‘女’ ELSE ‘其他’ END –Case搜索函数 CASE WHEN sex = ...

    sql case when exists not exists in not in

    在SQL查询中,`CASE WHEN`、`EXISTS`、`NOT EXISTS`以及`IN`和`NOT IN`是常用的操作符,它们用于处理复杂的条件判断和数据筛选。这些概念对于理解和编写高效的SQL语句至关重要,尤其是在数据分析和数据库管理中。 `...

    PB脚本中SQL语句写法与SQL中语句写法对照

    在SQL语言中,可以使用Update表名Set字段名=case字段名when值1then值2else值三endFrom表名Where条件语句来实现条件语句的写法。 四、取余函数Mod() 在PB脚本中,可以使用Mod(要取余数的值,取余值)函数来实现取余数...

    论SQL Server数据库中Case函数的作用.pdf

    在UPDATE语句中使用Case函数可以用来动态更新表中的数据: ```sql UPDATE Products SET Price = CASE WHEN Category = '电子' THEN Price * 0.9 WHEN Category = '书籍' THEN Price * 0.8 ELSE Price END WHERE ...

    decode函数与case when 的妙用

    在阅读博客文章《decode函数与case when 的妙用》时,作者可能分享了一些具体的示例和使用技巧,帮助我们更好地理解和掌握这两种方法。通过学习和实践,我们可以将这些知识应用于日常的数据库操作,优化数据处理流程...

    SQL解惑 第二版(中文)pdf带目录

    《SQL解惑 第二版(中文)》是一本专门针对SQL语言疑难点进行解析的书籍,旨在帮助读者在实践中理解和掌握SQL的各种特性和技巧。这本书以其独特的案例解析方式,为学习SQL的人提供了一种生动、易懂的学习路径,避免...

    SQL学习指南(第二版)书中的sql初始脚本

    SQL学习指南(第二版)书中的sql初始脚本,此脚本直接运行即可,含有数据。

    sql 中 case when 语法使用方法

    在SQL语言中,`CASE WHEN`语句是一个非常强大的逻辑判断工具,它可以替代C语言中的`switch case`结构,提供灵活的数据处理和条件判断。在SQL查询中,`CASE WHEN`常常用于根据不同的条件返回不同的值,或者在`SELECT`...

    case乱码解决

    mysql 中case when 遇到乱码解决。查询语句中含有case引起中文乱码解决方法

Global site tag (gtag.js) - Google Analytics