您的位置:首页 > 数据库

【数据库7】字段相关与联合结果集

2015-11-16 10:38 211 查看

原文链接:http://blog.csdn.net/coder_pig/article/details/43817219



一.字段相关

1.常量字段:

什么是常量字段?

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

使用下述SQL:

[sql] view
plaincopyprint?





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

运行SQL:



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

2.字段间的计算

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

[sql] view
plaincopyprint?





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

运行SQL:



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

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

[sql] view
plaincopyprint?





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

运行SQL:



3.一个常用的例子:

表中的某项全部+1

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

[sql] view
plaincopyprint?





UPDATE T_Product SET FNum = FNum + 1;

SELECT * FROM T_Product

运行SQL:



二.联合结果集

1.什么是联合结果集?

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

下面的这个SQL:

[sql] view
plaincopyprint?





SELECT PName,'1.商品' FROM T_Product;

SELECT FName,'2.人员' FROM T_Worker;

运行SQL:



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

这个就是联合结果集!

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

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

[sql] view
plaincopyprint?





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可以给我们带来便利!这里写些简单的使用例子!

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

[sql] view
plaincopyprint?





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:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: