(自连接)SQL面试题-0608
来源:互联网 发布:淘宝的外卖叫什么 编辑:程序博客网 时间:2024/06/09 15:41
一个简单的表TABLE 有100条以上的信息,其中包括:
产品 颜色 数量
产品1 红色 123
产品1 蓝色 126
产品2 蓝色 103
产品2 红色 NULL
产品2 红色 89
产品1 红色 203
请用SQL语句完成以下问题:
1。按产品分类,仅列出各类商品中红色多于蓝色的商品名称及差额数量:
2。按产品分类,将数据按下列方式进行统计显示
产品 红色 蓝色
create table test0608(产品 varchar(10),颜色 varchar(10),数量 int);insert into test0608 values ('产品1', '红色', 123);insert into test0608 values ('产品1', '蓝色', 126);insert into test0608 values ('产品2', '蓝色', 103);insert into test0608 values ('产品2', '红色', NULL);insert into test0608 values ('产品2', '红色', 89);insert into test0608 values ('产品1', '红色', 203);select * from test0608;select 产品, 红色, 蓝色, 红色 - 蓝色 差额 from (select a1.产品, a1.红色, b1.蓝色 from (select 产品, 颜色, 红色 from (select 产品, 颜色, sum(数量) 红色 from test0608 group by 产品, 颜色) a where a.颜色 = '红色' ) a1 join (select 产品, 颜色, 蓝色 from (select 产品, 颜色, sum(数量) 蓝色 from test0608 group by 产品, 颜色) b where b.颜色 = '蓝色' ) b1 on a1.产品 = b1.产品) c where 红色 > 蓝色;select a1.产品, a1.红色, b1.蓝色 from (select 产品, 颜色, 红色 from (select 产品, 颜色, sum(数量) 红色 from test0608 group by 产品, 颜色) a where a.颜色 = '红色' ) a1 join (select 产品, 颜色, 蓝色 from (select 产品, 颜色, sum(数量) 蓝色 from test0608 group by 产品, 颜色) b where b.颜色 = '蓝色' ) b1 on a1.产品 = b1.产品;
- (自连接)SQL面试题-0608
- C++面试题连接,转载自北邮人
- 面试题(五)SQL
- SQL面试题 (二)
- SQL 面试题(1)
- SQL面试题(转载)
- sql面试题(收集)
- SQL面试题(1)
- SQL面试题(一)
- SQL面试题(二)
- Android面试题自答(一)
- 面试题 自解
- SQL面试题之一有关连接、查询的题
- java 县城面试题 连接(转载)
- c++面试题连接
- ios面试题连接
- sql查询之左连接,右连接,内连接以及全外连接的使用(测试常见面试题欧)
- 棘手的(SQL)面试题
- ANSI编码对比表
- UNDO Tablespace
- ORA-00911:无效字符 错误及解决
- 常用的作业调度算法应用练习
- ParameterizedType getGenericSuperclass 获取泛型参数;class getClass区别
- (自连接)SQL面试题-0608
- [一生的故事].And.Everything.Started.To.Fall.full.rip controls + spoiler
- 英语字根252
- JavaScript:世界上误解最深的语言
- Oracle内置角色connect与resource的权限
- oracle 查看用户、权限、角色
- 操作系统 测试题
- 数据库 范式
- 简单函数