前言导读:

本章是对SQL语句基础功能中,一些功能用法的扩展使用的总结,都是实际工作中一些经验的积累.

1 select列查询功能组合使用

  1. --1 函数处理+列计算+列改名
  2. select 函数(列) + 列名 AS 新列名
  3. from 表名
  4. --2 数据标定+函数处理+列计算+列改名
  5. select CASE WHEN 函数(列) + > 80 THEN '设定字符1'
  6. ELSE '设定字符2'
  7. END as 新列名
  8. FROM 表名

2 group by 组合使用求数+求和

  1. SELECT 1 ,
  2. COUNT(求数列) as 次数 ,
  3. SUM(求和列) as 总额
  4. FROM 表名
  5. GROUP BY 1

3 in 和like 功能性探索

  1. 注意:()和’’对应数字和字符的使用,两个关键字的查询内容都可以是字符或者数字
  2. 注意:默认都是字符型数据,如果要进行计算,改成数值型数据
  3. --1 in :
  4. ①可以多个查询,
  5. ②可以查询字符和数字,
  6. ③能一起查,④内容完全对应
  7. select *
  8. from 体检信息
  9. where 姓名 IN ('姓名1','姓名2')
  10. select *
  11. from 电话号码
  12. where 姓名 IN ('134','135454')
  13. --2 like:
  14. ①可以多个查询,
  15. ②可以查询数字,
  16. ③但是要分列查询,
  17. ④内容可以模糊查询
  18. select *
  19. from 体检信息
  20. where 姓名 like '%姓%' or 家属年龄 like '%48%'

4 like连环查询:筛选字符中的有用信息

  1. --第一步:可乐和雪碧同时存在的数据
  2. where 列名 like’%可乐%’ and 列名 like’%雪碧%’
  3. --第二步:显示可乐的数据和显示雪碧的数据
  4. where 列名 like’%可乐%’ or 列名 like’%雪碧%’
  5. --第三步:在显示可乐和雪碧的数据同时去掉有牙膏字样的数据
  6. where 列名 like’%可乐%’ or 列名 like’%雪碧%’ and 列名 not like’%牙膏%’

5 is null数据表中空白格解析

  1. --如果空白格中无数据:但是又不是null 那就代表空白格中的数据为0
  2. --如果是数值列:可以直接使用where 年龄 !='0' 姓名列不为0的列
  3. --如果是字符的列:就可以用where 姓名 like '%_%' 姓名列不为空的列

6 函数各位置用法

  1. --1、函数在select中使用:建立as列名,后接where查询,不能使用as列名,需用完整函数表达式
  2. --2、函数在where中使用:单独在where中使用必须完整布尔表达式
  3. --3、在order by中使用:可以使用as列名进行排序
  4. --4、在case when中使用:出现在条件表达式中,而case语句出现在select
  5. --5 函数组合说明:函数结果数字+比较范围
  6. --函数结果数字+计算数字
  7. --函数使用位置说明:
  8. --函数在select中格式 select 函数名 (列名) from 表名
  9. --函数在where中格式 select * from 表名 where 函数名(列名)

7 子查询各位置用法

  1. 说明:where位置的子查询是最常用的.
  2. --1单句from位置,具体用途待研究
  3. select * from (select 统筹支付,count(*) 次数 --门诊结算金额出现频率前20
  4. from T_医院门诊结算单_西丰
  5. where 统筹支付>0
  6. group by 统筹支付
  7. order by 次数 desc)
  8. where rownum<21;
  9. --2union位子 双句子查询,两句结果合并
  10. select count(*)
  11. from (select 身份证号
  12. from T_医院门诊结算单_西丰
  13. group by 身份证号
  14. having sum(统筹支付)>0
  15. union --合并去重
  16. select 身份证号
  17. from T_医院住院结算单_西丰
  18. group by 身份证号
  19. having sum(统筹支付)>0);
  20. --3 from位置 连接查询带子查询
  21. select * from (查询语句) join (查询语句) on 条件连接
  22. --4 select位置的子查询
  23. select *,(select 想要在父表显示的列名1
  24. from 子表1
  25. where 父表.相同列 = 子表1.相同列 ) as 1 ,
  26. (select 想要在父表显示的列名2
  27. from 子表2
  28. where 父表.相同列 = 子表2.相同列 ) as 2
  29. from 父表
  30. --格式说明:新增列子查询中:select 只能显示一列信息,多了报错,如果想显示多列可以再写一个,where 中设定的条件就是两个表连接的内容
  31. --重点说明:如果是新增的列参与运算,不能用as后的名字,需要用新增的运算格式

(本章完)

此资源有PDF目录版,如想获得请扫码关注右侧公众号自动获取

感恩笔记之二_SQL语句扩展功能的更多相关文章

  1. Oracle使用学习笔记(二)_Sql语句

    一.Sql语句的分类 数据操作语言,简称DML(data manipulation language),如增加,删除,修改,查询数据等 数据定义语言,简称DDL(data defination lan ...

  2. JavaScript DOM编程艺术 笔记(二)语句操作

    操作 var total = (1+4)*5; year = year +1; year++; var message = "i am" + "girl"; 是 ...

  3. 感恩笔记之SQL查询功能最简使用模板

    感恩笔记之SQL查询功能最简使用模板 第一部分:SQL单表功能 1 语句主要关键字 SELECT --查询数据列 INTO --新建数据表 FROM --查询数据表 WHERE --筛选数据表结果 O ...

  4. Hibernate学习笔记(二)

    2016/4/22 23:19:44 Hibernate学习笔记(二) 1.1 Hibernate的持久化类状态 1.1.1 Hibernate的持久化类状态 持久化:就是一个实体类与数据库表建立了映 ...

  5. X-Cart 学习笔记(二)X-Cart框架1

    目录 X-Cart 学习笔记(一)了解和安装X-Cart X-Cart 学习笔记(二)X-Cart框架1 X-Cart 学习笔记(三)X-Cart框架2 X-Cart 学习笔记(四)常见操作 四.X- ...

  6. C++Primer第5版学习笔记(二)

    C++Primer第5版学习笔记(二) 第三章的重难点内容         这篇笔记记录了我在学习C++常用基本语法的学习过程,基本只记录一些重难点,对概念的描述不是一开始就详尽和准确的,而是层层深入 ...

  7. Mysql学习笔记(二)数据类型 补充

    原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与 ...

  8. [.NET] 《Effective C#》读书笔记(二)- .NET 资源托管

    <Effective C#>读书笔记(二)- .NET 资源托管 简介 续 <Effective C#>读书笔记(一)- C# 语言习惯. .NET 中,GC 会帮助我们管理内 ...

  9. [.NET] 《Effective C#》快速笔记(二)- .NET 资源托管

    <Effective C#>快速笔记(二)- .NET 资源托管 简介 续 <Effective C#>读书笔记(一)- C# 语言习惯. .NET 中,GC 会帮助我们管理内 ...

随机推荐

  1. SpringBoot以jar包部署需要注意的thymeleaf页面映射问题

    关于themeleaf映射需要注意的: 1.页面映射 所有静态页面映射的时候,mapping后面要以/开头(最好),不以/开头也行 但是return 后面路径不能以/开头:IDE中正常,但是打jar包 ...

  2. Supervisor服务开机自启动

    要解决的问题 在机器上部署自己编写的服务时候,我们可以使用Supervisor作为进程检活工具,用来自动重启服务. 但是当机器重启后,Supervisor却不能自动重启,那么谁来解决这个问题呢? 答案 ...

  3. spring-data-redis 动态切换数据源

    最近遇到了一个麻烦的需求,我们需要一个微服务应用同时访问两个不同的 Redis 集群.一般我们不会这么使用 Redis,但是这两个 Redis 本来是不同业务集群,现在需要一个微服务同时访问. 其实我 ...

  4. 如何从 vue-element-admin 迁移到 Fantastic-admin

    // FIXME 链接更新 如果你还不知道 Fantastic-admin 是什么,那么我先用几张预览图给大家了解一番. 看来预览图,如果你感兴趣,可以点这里来详细了解并试用,这是一款完成度极高,开箱 ...

  5. 高德地图——步行路线&步行路线的坐标规划

    步行操作与开车一样 唯一区别就是src末尾加入&plugin=AMap.Walkling 以及new AMap.Walking({}) <!DOCTYPE html> <ht ...

  6. 后端拜拜,用不到你了,前端开发数据模拟神器nodejs

    后端拜拜,用不到你了,前端开发数据模拟神器nodejs 欢迎关注博主公众号「java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请 ...

  7. Stream流用于按照对象中某一属性来对集合去重+简单数据类型集合的去重

    上次对Stream流来进行分组的文章很多人看,想看的可以来这: Stream流来进行集合分组 这次小编又带来Stream的去重,话不多数,直接上代码: 这是对简单数据类型的去重 //字符串集合进行简单 ...

  8. Linux内核学习之2号进程kthreadd

    Author       : Toney Email         : vip_13031075266@163.com Date          : 2020.12.04 Copyright : ...

  9. VUE002. 动态使用webpack打包处理后的静态图片路径({ img: require('xxx.png') })

    案例摘要 需求是通过v-for循环渲染数组中数据,其中包括本地包的图片文件.话不多说直接上代码: <a-radio-group class="template-radio"& ...

  10. MySQL实战45讲(01--05)-笔记

    目录 MySQL复习 01 | 基础架构:一条SQL查询语句是如何执行的? 连接器 查询缓存 分析器 优化器 执行器 02 | 日志系统:一条SQL更新语句是如何执行的? 重要的日志模块:redo l ...