MYSQL第三次作业

-- 第一题
 -- 创建表
CREATE TABLE bbc(
	NAME VARBINARY(100) , -- 国名
	region VARBINARY(100), -- 地区
	AREA NUMERIC(5), -- 面积(万平方米)
	population NUMERIC(20), -- 人口
	gdp NUMERIC(20) -- 国民生产总值(美元)
);

-- 查全表
SELECT * FROM bbc;

-- 增
INSERT INTO bbc VALUES('中国','亚洲',960,1200000000,1002800000000);
INSERT INTO bbc VALUES('美国','北美洲',937,300000000,1752800000000);
INSERT INTO bbc VALUES('日本','亚洲',37,125000000,484600000000);
INSERT INTO bbc VALUES('德国','欧洲',35,81640000,379400000000);
INSERT INTO bbc VALUES('英国','欧洲',24,58800000,282800000000);
INSERT INTO bbc VALUES('巴西','南美洲',854,160000000,221600000000);

-- 查询出所有国家的平均人口,平均GDP。
SELECT SUM(b.`population`)/COUNT(b.`NAME`) 平均人口,SUM(b.`gdp`)/SUM(b.`population`) 平均GDP FROM bbc b ;
-- 查询出人口最少的国家的人数。
SELECT MIN(b.`population`) FROM bbc b ;
-- 查询出GDP最多的国家的GDP
SELECT MAX(b.`gdp`) FROM bbc b;
-- 查询出各大洲的国家有几个。人口总数是多少,总GDP是多少。
SELECT b.`region`, COUNT(b.`NAME`) 国家数 , b.`population` 总人口数,SUM(b.`gdp`)  总GDP FROM bbc b GROUP BY b.`region`;

-- 第二题
 -- 创建表
CREATE TABLE nobel(
	ID INT AUTO_INCREMENT PRIMARY KEY, -- 主键
	yr INT NOT NULL, -- 年份
	SUBJECT VARCHAR(50), -- 诺贝尔奖项
	winner VARCHAR(50), -- 得奖者
	AREA VARCHAR(50) -- 获奖国家
	
);
-- 查全表
SELECT * FROM nobel;

-- 增
INSERT INTO nobel VALUES(NULL,2000,'java','张三','中国');
INSERT INTO nobel VALUES(NULL,2001,'c++','李四','中国');
INSERT INTO nobel VALUES(NULL,2002,'c','王五','日本');
INSERT INTO nobel VALUES(NULL,2002,'java','赵六','日本');
INSERT INTO nobel VALUES(NULL,2002,'c','刘八','美国');
INSERT INTO nobel VALUES(NULL,2002,'c++','罗九','美国');
INSERT INTO nobel VALUES(NULL,2003,'java','朱十','美国');
INSERT INTO nobel VALUES(NULL,2004,'足球','陈十一','美国');
INSERT INTO nobel VALUES(NULL,2005,'篮球','唐十二','美国');
INSERT INTO nobel VALUES(NULL,2006,'乒乓球','隔壁老王','美国');

-- 查询出每年颁发的诺贝尔奖的个数。
SELECT COUNT(n.`subject`) 个数,n.`yr` 年份 FROM nobel n GROUP BY n.`yr`;
-- 查询出得到诺贝尔奖个数超过2次的年份。
SELECT n.`yr` 年份 FROM nobel n GROUP BY n.`yr` HAVING COUNT(n.`subject`)>2;
-- 查询出各国,各年份获奖次数,并按获奖次数降序
SELECT  n.`area` 国家,n.`yr` 年份,COUNT(n.`subject`) 获奖次数 FROM nobel n GROUP BY n.`area`,n.`yr` DESC;
-- 查询出2002年之后获得奖项的国家.
SELECT n.`yr` 年份, n.`area` 国家 FROM nobel n WHERE n.`yr`>2002;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值