使用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