SQL查询的艺术-第七章:连接符、数值运算与函数 + 第八章:聚合分析与分组

一.数值运算:

1.cast表达式

使用cast表达式可以改变值的数值类型,但是不能改变原表中对应列的数据类型
cast(value_expression as data_type)

例子:
select name. cast(age as char(11)) from person--->将age这个数值类型转换成char类型

2.case表达式

case表达式实际上是一个条件表达式,能够根据列的实际值而选择不同的值(类似switch语句)
比较字符类型
select age, 
	case name 
		when '张三' then '男'
		when '李四' then '女'
		else '男'
		end as sex---->取别名 
from  person 

比较数值
select name.
	case 
	when age <=10 then '小孩'
	when age >= 90 then '老人'
	else '青年'
	end as person_describe
from person

这个case表达式相当于一个字段的值

二.组合查询:一般与聚合函数一起使用

1.基本语法

求分组后的数值总和
select column_name,sum(column_name)
	from table_name
		group by column

2.group by执行顺序

1.DBMS首先执行from子句,确定要使用的工作表

2.如果有where语句,首先根据where语句进行筛选

3.根据group by子句确定分组
	注意:如果group by有多个列,则按顺序依次分组,类似order by

4.根据分组确定select中的值

3.having子句:与组有关

select name from user 
	group by age 
		having count(*) > 10
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值