zoukankan      html  css  js  c++  java
  • 补充:sql server 中的相关查询、case函数

    相关查询(在同一个表中)

    相关查询类似子查询,但是又不同于子查询;子查询中的子条件可以单独查出数据,但是相关查询的子条件不能查处数据。(可以理解成C#中for的穷举法,第一个for走一个,第二个for走一圈,在相关查询中,括号内的数据只有几个,外面的查询有全部的数据,每个数据到括号中去比较是否合适)

    格式:

         select * from 表名1 as a where a.列名 关系表达式或逻辑运算符

    (

       select * from 表名1 as b where a.相关列名1 = b.相关列名1

    )

    相关查询的查询原理:(在同一个表中)在括号内,根据相关列名的对应关系,如果a的数据等于b,则执行括号内的代码

    Case语句:

    类似C#中的switch() case用法

    格式:

           Case 一个表达式的值或者列名或者不写

           When 1 then  ‘’

           When 2 then  ‘’

    create table qiusai

    (

       name nvarchar(10),

       score nvarchar(10)

    )

    insert into qiusai values('拜仁','胜')

    insert into qiusai values('奇才','胜')

    insert into qiusai values('湖人','胜')

    insert into qiusai values('拜仁','负')

    insert into qiusai values('拜仁','负')

    insert into qiusai values('奇才','胜')

     

    select * from qiusai

    case的用法:(增加一个case表示增加一列,case的用法和c# switch case的用法类似)

    select name,count(

    (

       case score

       when '胜' then '111'

       end

    ))as 胜,count(

    (

       case  score

       when '负' then '000'

       end

    ))as 负

    from qiusai group by name

    使用后的结果

  • 相关阅读:
    c++局部变量在外可用的方法
    Git更新代码到本地
    Redis客户端断开重连功能要点
    android make
    cb-A10 调整分区
    linux内核学习:中断中推后执行的部分
    linux内核学习:中断
    linux内核学习:进程调度
    linux内核学习:进程管理
    ubuntu 安装android源码编译环境 遇到的问题
  • 原文地址:https://www.cnblogs.com/hqjy/p/4095879.html
Copyright © 2011-2022 走看看