码迷,mamicode.com
首页 > 数据库 > 详细

每天一点数据库之-----Day 7 字段相关与联合结果集

时间:2015-02-17 00:51:55      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:数据库   新手   快速入门   每天   基础   

每天一点数据库之-----Day 7 字段相关与联合结果集

                                                                    ----转载请注明出处:coder-pig




一.字段相关


1.常量字段:

什么是常量字段?

答:就是表中并不存在的字段,但是查询出来的结果看上去上实际存在~如

使用下述SQL:

SELECT '小明超市','香洲店',PName,PPrice FROM T_Product

运行SQL:

技术分享


这里的‘小明超市‘和‘香洲店‘就是常量字段!!



2.字段间的计算

字段间还可以进行计算,如计算商品的总价:

SELECT PName,FNum,PPrice,PPrice * FNum AS '商品总价' FROM T_Product

运行SQL:

技术分享


你完全可以把常量字段看成普通字段来使用,也可以写得更复杂点

如,筛选出总价大于5000的商品信息:

SELECT *,PPrice * FNum AS '总价' FROM T_Product WHERE PPrice * FNum > 5000

运行SQL:

技术分享



3.一个常用的例子:

表中的某项全部+1

比如表中所有的商品数量+1

UPDATE T_Product SET FNum = FNum + 1;
SELECT * FROM T_Product

运行SQL:

技术分享




二.联合结果集

1.什么是联合结果集?

答:就是把我们想把多个查询结果集放到一个结果集中显示,举个例子:

下面的这个SQL:

SELECT PName,'1.商品' FROM T_Product;
SELECT FName,'2.人员' FROM T_Worker;

运行SQL:

技术分享


现在我们想把这两个查询的结果集放到一个结果集中!

这个就是联合结果集!



2.如何实现结果集联合:

使用UNION运算符联合即可!,如上述的SQL只需要加上UNION:

SELECT PName,'1.商品' FROM T_Product
UNION
SELECT FName,'2.人员' FROM T_Worker;

运行SQL:

技术分享


这样就都显示到一个结果集上了,多个的话再加UNION关键字,很简单吧!



3.使用UNION的注意事项:

1)每个结果集必须有相同的列数

2)每个结果集的每个对应列的数据类型需要相同或者能转换为同一种数据类型

3)如果多个结果集中存在某个记录的列中的内容都相同的话,即重复,只会保留一条

如果你不想这样的话,这个时候你可以在UNION运算符后使用ALL操作符!

UNION ALL




4.联合结果集的使用示例:

联合结果集更多的时候是在制作报表的时候,当我们想把两个没有直接关系的数据显示到同

一张报表中,那么使用UNION可以给我们带来便利!这里写些简单的使用例子!


例子:查询商品单价最高与最低,以及员工中最高薪资与最低薪资:

SELECT '商品最高单价',MAX(PPrice) FROM T_Product
UNION
SELECT '商品最低单价',MIN(PPrice) FROM T_Product
UNION
SELECT '员工最高薪资',MAX(FSalary) FROM T_Worker
UNION
SELECT  '员工最低薪资',MIN(FSalary) FROM T_Worker;

运行SQL:

技术分享









每天一点数据库之-----Day 7 字段相关与联合结果集

标签:数据库   新手   快速入门   每天   基础   

原文地址:http://blog.csdn.net/coder_pig/article/details/43817219

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!