准备工作
还是先创建要用的表,对应的sql语句如下
create table cellphone(id int primary key auto_increment,
name varchar(32) not null,
price float not null default 0,
discount float not null default 0);
insert into cellphone values(null,'苹果手机',6000,0.95);
insert into cellphone values(null,'小米手机',4500,0.75);
insert into cellphone values(null,'oppo手机',3800,0.98);
insert into cellphone values(null,'vivo手机',3600,0.88);
insert into cellphone values(null,'华为手机',5500,0.92);
insert into cellphone values(null,'魅族手机',3400,0.95);
insert into cellphone values(null,'菠萝手机',8000,0.90);
成功创建表后输入select * from cellphone;查看数据是否插入成功,如果显示如下,那么我们的准备工作就完成了。
使用别名
我们在进行数据查询时,查询出来的列名往往语义性不是很强,例如,上面我们的显示手机的列名是name,就是名字,是什么名字呢?这就不清楚了。
as的用法就是 旧列名 as 新列名
现在,我们使用as来定义别名,把name换成手机名称。
select name as '手机名称', price, discount from cellphone;
我们使用as后语义性就强很多了。
多个列执行计算
我们观察这张表就会发现,手机有一个价格,还有一个折扣,那么手机的实际价格就是当前价*折扣,我们现在就想要查看实际的价格该怎么办呢?表里面根本没有实际价格这个字段,这时我们就可以对多个列进行算术运算了。
多个列执行运算的格式为 列名1 运算符 列名2..... as 新列名 ,为了增强语义性,可以使用一个括号把运算的列包起来。
现在,我们来通过计算查看手机的实际价格
select * ,(price * discount) as '实际价格' from cellphone;
我们使用列来进行计算就得出了当前实际价格,但是我们发现实际价格小数特别多,我们可不可以只保留2位小数呢?肯定是可以的,在后面我们使用函数就能实现,这里就先不介绍。
总结
在这一节中,我们使用了as来给列取别名,同时有学会了多个列来进行计算,其实as和列计算的使用方式非常灵活,大家可以自己多尝试一下。