补充: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

使用后的结果

时间: 2024-11-05 16:28:10

补充:sql server 中的相关查询、case函数的相关文章

SQL Server中的分页查询 select top

SQL Server中的分页查询 https://blog.csdn.net/tswc_byy/article/details/82053091 零.码仙励志 比我差的人还没放弃,比我好的人仍在努力,我就更没资格说我无能为力 一.建库和建表 create database scort use scort create table emp ( empno int primary key, ename nvarchar(10), sal int, deptno int ) insert into e

在SQL SERVER中实现RSA加解密函数(第二版)

/*************************************************** 作者:herowang(让你望见影子的墙) 日期:2010.1.5 注: 转载请保留此信息 更多内容,请访问我的博客:blog.csdn.NET/herowang ****************************************************/ /* 本次修改增加了unicode的支持,但是加密后依然显示为进制数据,因为进行RSA加密后所得到的unicode编码是无

SQL Server 中的窗口函数(2012 新函数)

简介 SQL Server 2012之后对窗口函数进行了极大的加强,但对于很多开发人员来说,对窗口函数却不甚了解,导致了这样强大的功能被浪费,因此本篇文章主要谈一谈SQL Server中窗口函数的概念. 什么是窗口函数 窗口函数,也可以被称为OLAP函数或分析函数.理解窗口函数可以从理解聚合函数开始,我们知道聚合函数的概念,就是将某列多行中的值按照聚合规则合并为一行,比如说Sum.AVG等等,简单的概念如图1所示. 图1.聚合函数 因此,通常来说,聚合后的行数都要小于聚合前的行数.而对于窗口函数

实现SQL Server中的切割字符串SplitString函数

有时我们要用到批量操作时都会对字符串进行拆分,可是SQL Server中却没有自带Split函数,所以要自己来实现了.没什么好说的,需要的朋友直接拿去用吧 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /* by kudychen 2011-9-28 */ CREATE function [dbo].[SplitString] ( @Input nvarchar(max), --input string to be separated @Sep

实现SQL Server中的切割字符串SplitString函数,返回Table

有时我们要用到批量操作时都会对字符串进行拆分,可是SQL Server中却没有自带Split函数,所以要自己来实现了. -- ============================================= -- Author: chenlong -- Create date: 2015-02-02 -- Description: 根据逗号分隔拆分字符串,返回table -- ============================================= ALTER FUN

sql server Service Broker 相关查询

-- 查看传输队列中的消息 --如果尝试从队列中移除时,列将表明哪里出现了问题 select * from sys.transmission_queue -- 查看Service Broker 激活的存储过程 select * from sys.dm_broker_activated_tasks -- 查看数据库中的每个会话端点.会话端点代表Service Broker 会话的每一端. -- 会话端点视图state列显示会话的状态 select * from sys.conversation_e

SQL server中的一些查询

SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理. 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入.这些虚拟表对调用者(客户端应用程序或者外部查询)不可用.只是最后一步生成的表才会返回 给调用者.如果没有在查询中指定某一子句,将跳过相应的步骤.下面是对应用于SQL server 2000和SQL Server 2005的各个逻辑

sql server 中的简单查询案例

/** 名称:人力资源管理系统数据库*/ /*切换到系统数据库master:*/USE master;GO /*若当前系统中存在HR表,则删除之:*/IF EXISTS (SELECT 1 FROM sysdatabases WHERE name = 'HR')BEGIN DROP DATABASE HR;ENDGO --创建数据库HRcreate database HRgo/*切换到HR数据库*/USE HR;GO----------------------------------------

SQL Server中的连接查询

在查询多个表时,我们经常会用“连接查询”.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 什么是连接查询呢? 概念:根据两个表或多个表的列之间的关系,从这些表中查询数据. 目的:实现多个表查询操作. 知道了连接查询的概念之后,什么时候用连接查询呢? 一般是用作关联两张或两张以上的数据表时用的.看起来有点抽象,我们举个例子,做两张表:学生表(T_student)和班级表(T_class). T_student