Oracle SQL测试1


id sname smoney sprovince
1 zhangsan 2098 A
2 lisi 3000 B
3 wangwu 6789 C
4 liumazi 4587 C
5 dongjiu 3298 B
6 shiga 4567 A



id:合同id sname:姓名 smoney :业绩 sprovince:地区


CREATE TABLE test (sid NUMBER,sname VARCHAR2(20 ),smoney NUMBER,sprovince CHAR(1 ))
INSERT INTO test VALUES( 1,'zhangsan' ,2098, 'A');
INSERT INTO test VALUES( 2,'lisi' ,3000, 'B');
INSERT INTO test VALUES( 3,'wangwu' ,6789, 'C');
INSERT INTO test VALUES( 4,'liumazi' ,4587, 'C');
INSERT INTO test VALUES( 5,'dongjiu' ,3298, 'B');
INSERT INTO test VALUES( 6,'shiga' ,4567, 'A');
COMMIT;

--显示出 业绩 大于同一地区平均值的 合同id 姓名 地区 业绩
SELECT t.* FROM test t,
(SELECT AVG(smoney) smoney,sprovince FROM test GROUP BY sprovince) t2
WHERE t.smoney > t2.smoney AND t.sprovince = t2.sprovince
或者
SELECT t.* FROM test t WHERE t.smoney > ( SELECT AVG (smoney) FROM test t2 WHERE t.sprovince = t2.sprovince GROUP BY t2.sprovince)


--把同一地区的 平均业绩 地区 插入到新表中 (新表只包含两个字段即:平均业绩 地区)
CREATE TABLE test_temp AS SELECT AVG (t.smoney) smoney,t.sprovince sprovince FROM test t GROUP BY t.sprovince



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值