1. --简单判断用法
  2. SELECT 1 WHERE EXISTS (SELECT * FROM cpay..System_Setting)
  3. --可以替换count
  4. SELECT COUNT(1) FROM cpay..System_Setting
  1. USE YSB_PayDB
  2. --1 练习NOT EXISTS的用法
  3. --(Exists使用心得:1、先查目标表的全部;2、再用Exists关联目标表过滤掉不要的)
  4. SELECT c.* FROM dbo.YSB_Distributor AS d
  5. INNER JOIN dbo.YSB_CustomerInfo AS c
  6. ON d.DistributorID = c.DistributorID
  7. WHERE d.DistributorName='tests'
  8. AND NOT EXISTS (
  9. SELECT 1 FROM dbo.YSB_DistributorCustomerServiceFee AS s
  10. WHERE c.CustomerNo = s.CustomerNo
  11. )
  12.  
  13. --2 练习NOT EXISTS
  14. SELECT * FROM dbo.YSB_PayProductInfo AS p
  15. WHERE NOT EXISTS (
  16. SELECT 1 FROM dbo.YSB_PayProductSupportBusProduct AS s
  17. WHERE p.PayProductCode = s.PayProductCode AND s.BusProductCode = 'UATP'
  18. )
  19.  
  20. --3 练习NOT EXISTS的用法
  21. SELECT * FROM dbo.Sys_Company
  22. SELECT * FROM dbo.YSB_CustomerInfo
  23. SELECT * FROM dbo.YSB_CustomerAndFactoringCompanyRelation
  24.  
  25. SELECT * FROM dbo.YSB_CustomerInfo AS c
  26. WHERE NOT EXISTS (
  27. SELECT 1 FROM dbo.YSB_CustomerAndFactoringCompanyRelation AS f
  28. INNER JOIN dbo.Sys_Company AS s
  29. ON f.FactoringCompanyID = s.CompanyID
  30. WHERE s.CompanyName = '北京海淀科技企业融资担保有限公司' AND c.CustomerNo = f.CustomerNo
  31. )
  32.  
  33. --4 练习 CASE WHEN的用法
  34. USE MySchool
  35. SELECT * FROM dbo.tblScore
  36. SELECT * FROM dbo.tblCourse
  37. SELECT * FROM dbo.tblStudent
  38. SELECT * FROM dbo.tblTeacher
  39.  
  40. SELECT st.StuId,st.StuName,co.CourseName,sc.Score ,
  41. CASE
  42. WHEN sc.Score >= 90 THEN '优秀'
  43. WHEN sc.Score >= 80 THEN '良好'
  44. WHEN sc.Score >= 60 THEN '及格'
  45. WHEN sc.Score < 60 THEN '不及格'
  46. ELSE '其他'
  47. END AS '成绩',
  48. CASE st.StuSex
  49. WHEN '男' THEN '男生'
  50. WHEN '女' THEN '女生'
  51. ELSE '其他'
  52. END AS 性别
  53. FROM dbo.tblStudent AS st
  54. INNER JOIN dbo.tblScore AS sc
  55. ON st.StuId = sc.StuId
  56. INNER JOIN dbo.tblCourse AS co
  57. ON co.CourseId = sc.CourseId
  58.  
  59. --5 练习CASW WHEN GROUP BY的用法
  60. --(此写法类似Switch...Case...)
  61. SELECT b.BusProductCode, b.BusProductName,
  62. CASE b.BusProductType
  63. WHEN 1 THEN '机票类'
  64. WHEN 2 THEN '平台类'
  65. WHEN 3 THEN '票务类'
  66. END
  67. FROM YSB_PayDB.dbo.YSB_BusProductInfo AS b
  68. --(此写法类似If...Else...)
  69. SELECT b.BusProductCode, b.BusProductName,
  70. CASE
  71. WHEN b.BusProductType = 1 THEN '机票类'
  72. WHEN b.BusProductType = 2 THEN '平台类'
  73. WHEN b.BusProductType = 3 THEN '票务类'
  74. END
  75. FROM YSB_PayDB.dbo.YSB_BusProductInfo AS b
  76.  
  77. SELECT
  78. CASE BusProductType
  79. WHEN 1 THEN '机票类'
  80. WHEN 2 THEN '平台类'
  81. WHEN 3 THEN '票务类'
  82. END AS 业务类型,
  83. COUNT(1) AS 产品数量
  84. FROM YSB_PayDB.dbo.YSB_BusProductInfo
  85. GROUP BY BusProductType

EXISTS/NOT EXISTS CASE WHEN等使用方法的更多相关文章

  1. 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 ...

  2. 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 ...

  3. ORACLE CASE WHEN 及 SELECT CASE WHEN的使用方法

    CASE 语句 CASE selector   WHEN value1 THEN action1;   WHEN value2 THEN action2;   WHEN value3 THEN act ...

  4. Case when 的使用方法

    SQL Case when 的使用方法 Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THE ...

  5. SQL中IN,NOT IN,EXISTS,NOT EXISTS的用法和差别

    SQL中IN,NOT IN,EXISTS,NOT EXISTS的用法和差别: IN:确定给定的值是否与子查询或列表中的值相匹配. IN 关键字使您得以选择与列表中的任意一个值匹配的行. 当要获得居住在 ...

  6. 思考题:用Use Case获取需求的方法是否有什么缺陷,还有什么地方需要改进?(提示:是否对所有的应用领域都适用?使用的方便性?.......)

    思考题: 用Use Case获取需求的方法是否有什么缺陷,还有什么地方需要改进?(提示:是否对所有的应用领域都适用?使用的方便性?.......) 简答: 一.用例解释: 在软件工程中,用例是一种在开 ...

  7. mysql子查询 exists,not exists,all和any

    (1)实现让结果集A - 结果集B:--利用not exists,合并则可用union . exists,not exists:用于判断且获取结果集A是否存在地结果集B中! ==========结果集 ...

  8. exists关键词和case表达式

    首先声明一下,exist和case没有必然联系,这里只是为了一起整理个笔记. EXIST谓词 如果存在对应的记录,返回TRUE.否则,返回FALSE.*实际使用中,即使不适用exist,基本也可以使用 ...

  9. SQL中Case When的使用方法

    Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex ' THEN '男' ' THEN '女' ELSE '其他' END       --Case搜索 ...

随机推荐

  1. Semaphore实现原理分析

    synchronized的语义是互斥锁,就是在同一时刻,只有一个线程能获得执行代码的锁.但是现实生活中,有好多的场景,锁不止一把. 比如说,又到了十一假期,买票是重点,必须圈起来.在购票大厅里,有5个 ...

  2. jenkins+gitlab+sonar+testng构建持续集成测试环境(配置干货篇)

    几个工具的安装部分就不在此介绍了! jenkins配置: 1.插件安装 2.root私钥配置 3.构建job配置 4.部署job配置 5.测试job配置 7.jenkins全局工具配置 8.jenki ...

  3. angular之scope.$watch

    某“大神”挖了个陨石坑,我于是乎似懂非懂的接手,玩了一个月angular.现在项目告一段落,暂别了繁重的重复性工作,可以开始回顾.认真的折腾下之前犹抱琵琶的angular. angular吸引人的特性 ...

  4. NHibernte教程(10)--关联查询

    本节内容 关联查询引入 一对多关联查询 1.原生SQL关联查询 2.HQL关联查询 3.Criteria API关联查询 结语 关联查询引入 在NHibernate中提供了三种查询方式给我们选择:NH ...

  5. Mybatis源码解析-BoundSql

    mybatis作为持久层,其操作数据库离不开sql语句.而BoundSql则是其保存Sql语句的对象 前提 针对mybatis的配置文件的节点解析,比如where/if/trim的节点解析可见文章Sp ...

  6. 201521123082 《Java程序设计》第1周学习总结

    201521123082 <Java程序设计>第1周学习总结 标签(空格分隔): Java 1. 本周学习总结 0.初步了解Java语言及其发展历史和过程,同时也初步了解了Java具有跨平 ...

  7. 201521123072《Java程序设计》第1周学习总结

    201521123072<Java程序设计>第1周学习总结 标签(空格分隔): JAVA学习 1,本周学习总结 了解了JDK,JRE,JVM,学会使用cmd中一些简单的命令 了解了Java ...

  8. 201521123094 吴慧婷 Java课程设计

    1. 团队课程设计博客链接 团队课程设计博客 2. 个人负责模块或任务说明 我的任务: (1)设置象棋的主窗口(仅将Board显示出来) (2)处理象棋的规则 (3)象棋界面的操作 (4)综合全部功能 ...

  9. 201521123005 《Java程序设计》 第九周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己 ...

  10. 201521123075 《Java程序设计》第12周学习总结

    1. 本周学习总结 2. 书面作业 将Student对象(属性:int id, String name,int age,double grade)写入文件student.data.从文件读出显示. 1 ...