EXISTS/NOT EXISTS CASE WHEN等使用方法
- --简单判断用法
- SELECT 1 WHERE EXISTS (SELECT * FROM cpay..System_Setting)
- --可以替换count
- SELECT COUNT(1) FROM cpay..System_Setting
- USE YSB_PayDB
- --1 练习NOT EXISTS的用法
- --(Exists使用心得:1、先查目标表的全部;2、再用Exists关联目标表过滤掉不要的)
- SELECT c.* FROM dbo.YSB_Distributor AS d
- INNER JOIN dbo.YSB_CustomerInfo AS c
- ON d.DistributorID = c.DistributorID
- WHERE d.DistributorName='tests'
- AND NOT EXISTS (
- SELECT 1 FROM dbo.YSB_DistributorCustomerServiceFee AS s
- WHERE c.CustomerNo = s.CustomerNo
- )
- --2 练习NOT EXISTS
- SELECT * FROM dbo.YSB_PayProductInfo AS p
- WHERE NOT EXISTS (
- SELECT 1 FROM dbo.YSB_PayProductSupportBusProduct AS s
- WHERE p.PayProductCode = s.PayProductCode AND s.BusProductCode = 'UATP'
- )
- --3 练习NOT EXISTS的用法
- SELECT * FROM dbo.Sys_Company
- SELECT * FROM dbo.YSB_CustomerInfo
- SELECT * FROM dbo.YSB_CustomerAndFactoringCompanyRelation
- SELECT * FROM dbo.YSB_CustomerInfo AS c
- WHERE NOT EXISTS (
- SELECT 1 FROM dbo.YSB_CustomerAndFactoringCompanyRelation AS f
- INNER JOIN dbo.Sys_Company AS s
- ON f.FactoringCompanyID = s.CompanyID
- WHERE s.CompanyName = '北京海淀科技企业融资担保有限公司' AND c.CustomerNo = f.CustomerNo
- )
- --4 练习 CASE WHEN的用法
- USE MySchool
- SELECT * FROM dbo.tblScore
- SELECT * FROM dbo.tblCourse
- SELECT * FROM dbo.tblStudent
- SELECT * FROM dbo.tblTeacher
- SELECT st.StuId,st.StuName,co.CourseName,sc.Score ,
- CASE
- WHEN sc.Score >= 90 THEN '优秀'
- WHEN sc.Score >= 80 THEN '良好'
- WHEN sc.Score >= 60 THEN '及格'
- WHEN sc.Score < 60 THEN '不及格'
- ELSE '其他'
- END AS '成绩',
- CASE st.StuSex
- WHEN '男' THEN '男生'
- WHEN '女' THEN '女生'
- ELSE '其他'
- END AS 性别
- FROM dbo.tblStudent AS st
- INNER JOIN dbo.tblScore AS sc
- ON st.StuId = sc.StuId
- INNER JOIN dbo.tblCourse AS co
- ON co.CourseId = sc.CourseId
- --5 练习CASW WHEN GROUP BY的用法
- --(此写法类似Switch...Case...)
- SELECT b.BusProductCode, b.BusProductName,
- CASE b.BusProductType
- WHEN 1 THEN '机票类'
- WHEN 2 THEN '平台类'
- WHEN 3 THEN '票务类'
- END
- FROM YSB_PayDB.dbo.YSB_BusProductInfo AS b
- --(此写法类似If...Else...)
- SELECT b.BusProductCode, b.BusProductName,
- CASE
- WHEN b.BusProductType = 1 THEN '机票类'
- WHEN b.BusProductType = 2 THEN '平台类'
- WHEN b.BusProductType = 3 THEN '票务类'
- END
- FROM YSB_PayDB.dbo.YSB_BusProductInfo AS b
- SELECT
- CASE BusProductType
- WHEN 1 THEN '机票类'
- WHEN 2 THEN '平台类'
- WHEN 3 THEN '票务类'
- END AS 业务类型,
- COUNT(1) AS 产品数量
- FROM YSB_PayDB.dbo.YSB_BusProductInfo
- GROUP BY BusProductType
EXISTS/NOT EXISTS CASE WHEN等使用方法的更多相关文章
- sql中in/not in 和exists/not exists的使用方法差别
1:首先来说in/not in的使用方法 in/not in是确定单个属性的值是否和给定的值或子查询的值相匹配: select * from Student s where s.id in(1,2,3 ...
- oralce中exists not exists in not in对于NULL的处理
1. 先讨论 in 与 not in中存在NULL的情况, sql语句如下: 1 select 1 result1 from dual where 1 not in (2, 3); 2 3 4 s ...
- ORACLE CASE WHEN 及 SELECT CASE WHEN的使用方法
CASE 语句 CASE selector WHEN value1 THEN action1; WHEN value2 THEN action2; WHEN value3 THEN act ...
- Case when 的使用方法
SQL Case when 的使用方法 Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THE ...
- SQL中IN,NOT IN,EXISTS,NOT EXISTS的用法和差别
SQL中IN,NOT IN,EXISTS,NOT EXISTS的用法和差别: IN:确定给定的值是否与子查询或列表中的值相匹配. IN 关键字使您得以选择与列表中的任意一个值匹配的行. 当要获得居住在 ...
- 思考题:用Use Case获取需求的方法是否有什么缺陷,还有什么地方需要改进?(提示:是否对所有的应用领域都适用?使用的方便性?.......)
思考题: 用Use Case获取需求的方法是否有什么缺陷,还有什么地方需要改进?(提示:是否对所有的应用领域都适用?使用的方便性?.......) 简答: 一.用例解释: 在软件工程中,用例是一种在开 ...
- mysql子查询 exists,not exists,all和any
(1)实现让结果集A - 结果集B:--利用not exists,合并则可用union . exists,not exists:用于判断且获取结果集A是否存在地结果集B中! ==========结果集 ...
- exists关键词和case表达式
首先声明一下,exist和case没有必然联系,这里只是为了一起整理个笔记. EXIST谓词 如果存在对应的记录,返回TRUE.否则,返回FALSE.*实际使用中,即使不适用exist,基本也可以使用 ...
- SQL中Case When的使用方法
Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex ' THEN '男' ' THEN '女' ELSE '其他' END --Case搜索 ...
随机推荐
- Semaphore实现原理分析
synchronized的语义是互斥锁,就是在同一时刻,只有一个线程能获得执行代码的锁.但是现实生活中,有好多的场景,锁不止一把. 比如说,又到了十一假期,买票是重点,必须圈起来.在购票大厅里,有5个 ...
- jenkins+gitlab+sonar+testng构建持续集成测试环境(配置干货篇)
几个工具的安装部分就不在此介绍了! jenkins配置: 1.插件安装 2.root私钥配置 3.构建job配置 4.部署job配置 5.测试job配置 7.jenkins全局工具配置 8.jenki ...
- angular之scope.$watch
某“大神”挖了个陨石坑,我于是乎似懂非懂的接手,玩了一个月angular.现在项目告一段落,暂别了繁重的重复性工作,可以开始回顾.认真的折腾下之前犹抱琵琶的angular. angular吸引人的特性 ...
- NHibernte教程(10)--关联查询
本节内容 关联查询引入 一对多关联查询 1.原生SQL关联查询 2.HQL关联查询 3.Criteria API关联查询 结语 关联查询引入 在NHibernate中提供了三种查询方式给我们选择:NH ...
- Mybatis源码解析-BoundSql
mybatis作为持久层,其操作数据库离不开sql语句.而BoundSql则是其保存Sql语句的对象 前提 针对mybatis的配置文件的节点解析,比如where/if/trim的节点解析可见文章Sp ...
- 201521123082 《Java程序设计》第1周学习总结
201521123082 <Java程序设计>第1周学习总结 标签(空格分隔): Java 1. 本周学习总结 0.初步了解Java语言及其发展历史和过程,同时也初步了解了Java具有跨平 ...
- 201521123072《Java程序设计》第1周学习总结
201521123072<Java程序设计>第1周学习总结 标签(空格分隔): JAVA学习 1,本周学习总结 了解了JDK,JRE,JVM,学会使用cmd中一些简单的命令 了解了Java ...
- 201521123094 吴慧婷 Java课程设计
1. 团队课程设计博客链接 团队课程设计博客 2. 个人负责模块或任务说明 我的任务: (1)设置象棋的主窗口(仅将Board显示出来) (2)处理象棋的规则 (3)象棋界面的操作 (4)综合全部功能 ...
- 201521123005 《Java程序设计》 第九周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己 ...
- 201521123075 《Java程序设计》第12周学习总结
1. 本周学习总结 2. 书面作业 将Student对象(属性:int id, String name,int age,double grade)写入文件student.data.从文件读出显示. 1 ...