*数据源:储存在demo数据库的chapter6表中
一、缺失值处理:
1.第一种处理方式:
select
*
from
demo.chapter6
where profession !=""
将profession列有缺失值的两行过滤掉了
*!=表示不等于,“”表示空值,缺失值有空格(有值)、null(有值)、空值(无值)三种;
如果缺失值是空格表示,要过滤需要使用where profession !=“”;
如果缺失值是null表示,要过滤需要使用where profession is not null;
2.第二种处理方式:
select
order_id
,memberid
,coalesce(profession,"其他")
from
demo.chapter6
得到的结果不符,接着:
select coalesce(null,"我是填充值")
*由于coalesce函数的形式是(null,null,…,value),则填充值被填充成了value
二、重复值处理:
1.distinct 针对整张表:
select
distinct *
from
demo.chapter6
2.distinct 针对order_id列和memberid列:
select
distinct
order_id
,memberid
from
demo.chapter6
3.group by针对order_id列和memberid列:
select
order_id
,memberid
from
demo.chapter6
group by order_id
,memberid
三、数据类型转换:
1.方法:
cast(value as type);
convert(value,type);
2.针对age列从整型分别转换为浮点型(decimal)和字符型(char):
select
age
,cast(age as decimal) decimal_age
,convert(age,char) char_age
from
demo.chapter6
四、重命名:
1.将表中所有英文字段名全部重命名为中文字段名:
select
order_id as "订单ID"
,date as "下单日期"
,value as "订单金额(元)"
,memberid as "会员ID"
,age as "年龄"
,sex as "性别"
,profession as "行业"
from
demo.chapter6
*as可省略