SQL基础_1单表功能

一 语句主要关键字

SELECT     --查询数据列INTO       --新建数据表FROM       --查询数据表WHERE      --筛选数据表结果ORDER BY   --筛选结果排序   GROUP BY   --筛选结果分组HAVING     --筛选分组结果UNION      --合并查询结果 

二 新增列功能汇总

SELECT   distrint   列名,                            --1.单列去重AS   新列名,                             --2.列命名
				                          
         函数() + 列名 AS  新列名,                   --3.函数+计算式
         
		 CASE WHEN 函数() +> 80                 --4.函数+计算式+条件筛选
              THEN 新建列1  或 函数() +> 80      --5.新建列+函数+计算式+条件筛选
              THEN 新建列2  或 函数() +> 80
			  ELSE 新建列3  或 函数() +> 80
              END  新列名     
FROM     表名

三 筛选条件汇总

SELECT * FROM 数据表

  WHERE  列名  >,<,=,!=,<>  数值         --1.比较查询=数值和字符
         列名  BETWEEN  500  AND 100    --2.区间查询=数值
         
         列名  IN   ('字符','数值')       --3.批量提取字符
         列名  LIKE                      --4.特定字符查询                         
              LIKE%字符%--模糊查询                
              LIKE‘字符%--精确查询
              LIKE‘_字符%--定位查询              
              LIKE%[50%]%--数字符号查询
              LIKE%[^50%]%--逆向查询 
               
         列名  IN NULLIN  NOT  NULL   --处理空值
  
  
--1 in 和like 功能性探索
注意:()和’’对应数字和字符的使用,两个关键字的查询内容都可以是字符或者数字
注意:默认都是字符型数据,如果要进行计算,改成数值型数据

--2 in :①可以多个查询,②可以查询字符和数字,③能一起查,④内容完全对应
select * from 体检信息  where 姓名 IN ('宋秋雨','王复学') 
select * from 电话号码  where 姓名 IN ('13591067891','16604106992') 

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

四 函数汇总

--1 第一部分:字符个数    
LEN(‘列’)                       --列的字符数    
charindex(‘列中字符’,‘列’)     --列中字符在列中的位置  

--2 第二部分字符提取   
left  (‘列’,1--左显示几个字符   
right  (‘列’,1--右显示几个字符   
substring (‘ 列’,2,1--从第几位选择几个字符    

--3 第三部分字符替换   
replace(‘ 列 ’,‘列中字符’,‘替换成字符’)        --替换选择的列中字符    
          
--4 第四部分其他功能   
ltrim (‘ 列’)  --删除前导空格    
rtrim (‘ 列’)  --删除尾随空格    
lower (‘ 列’)  --转小写字母   
upper (‘ 列’)  --转大写字母   

--5 聚合函数 
COUNT( * )   --统计表中元组个数 
SUM(<列名>)  --计算列值总和(必须是数值型列) 
MAX(<列名>)  --求列值最大值(可以是非数值列) 
COUNT(<列名>)--统计某一列中非空值个数 
AVG(<列名>)  --计算列值平均值(必须是数值型列)  
MIN(<列名>)  --求列值最小值 (可以是非数值列)  

--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 函数名(列名)

五 其他关键字汇总

--1 Order by 
SELECT   *  
FROM   数据表  
WHERE   查询条件
ORDER BYDESC                        --1.单列排序

SELECT   *  
FROM   数据表  
WHERE   查询条件
ORDER BY   列,列                          --2.多列排序


--2 Group by  
SELECT1,COUNT (*FROM   数据表 
GROUP BY1                           --1.单列分组求数


SELECT1,列2,列3,COUNT (*FROM     数据表 
GROUP BY1 ,列2,列3                  --2.多列分组求数


SELECT  列名 , COUNT(求数列)次数 , SUM (求和列)总额    
FROM  数据表
GROUP BY  列名                              --3.分组求数+求和

--说明:在得出分类名称,分类次数后,对分类后每次的数额进行分类求和,
--可以对分组前,同名的机构进行求和验证数额的正确性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值