ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

感恩笔记之二_SQL语句扩展功能

2021-10-11 13:33:54  阅读:229  来源: 互联网

标签:语句 like -- 列名 之二 SQL 查询 where select


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

1 select列查询功能组合使用

--1 函数处理+列计算+列改名
select 函数(列) + 列名 AS  新列名
from 表名

--2 数据标定+函数处理+列计算+列改名
select CASE WHEN 函数(列) + 列 > 80   THEN  '设定字符1' 
			ELSE '设定字符2'
            END  as 新列名     
FROM 表名

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

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

3 in 和like 功能性探索

注意:()和’’对应数字和字符的使用,两个关键字的查询内容都可以是字符或者数字
注意:默认都是字符型数据,如果要进行计算,改成数值型数据

--1 in :
①可以多个查询,
②可以查询字符和数字,
③能一起查,④内容完全对应

select * 
from 体检信息  
where 姓名 IN ('姓名1','姓名2') 

select * 
from 电话号码  
where 姓名 IN ('134','135454') 

--2 like:
①可以多个查询,
②可以查询数字,
③但是要分列查询,
④内容可以模糊查询

select * 
from 体检信息 
where  姓名 like '%姓%' or 家属年龄 like '%48%'

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

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

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

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

6 函数各位置用法

--1、函数在select中使用:建立as列名,后接where查询,不能使用as列名,需用完整函数表达式

--2、函数在where中使用:单独在where中使用必须完整布尔表达式

--3、在order by中使用:可以使用as列名进行排序

--4、在case when中使用:出现在条件表达式中,而case语句出现在select中

--5 函数组合说明:函数结果数字+比较范围

--函数结果数字+计算数字

--函数使用位置说明:
--函数在select中格式 :select  函数名 (列名) from 表名	
--函数在where中格式 : select  *  from 表名    where 函数名(列名)

7 子查询各位置用法

说明:where位置的子查询是最常用的.

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

(本章完)

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

标签:语句,like,--,列名,之二,SQL,查询,where,select
来源: https://www.cnblogs.com/PythonSQL/p/15392945.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有