《MySQL上机考试题(习题答案).doc》由会员分享,可在线阅读,更多相关《MySQL上机考试题(习题答案).doc(10页珍藏版)》请在三一办公上搜索。
1、MySQL上机考试题(答案)建表详情:/*Navicat MySQL Data TransferSource Server : rootSource Server Version : 50067Source Host : localhost:3306Source Database : productTarget Server Type : MYSQLTarget Server Version : 50067File Encoding : 65001Date: 2013-02-21 17:22:07*/SET FOREIGN_KEY_CHECKS=0;- - Table structure fo
2、r pros- -DROP TABLE IF EXISTS pros;CREATE TABLE pros ( 产品编号 varchar(20) NOT NULL, 产品名称 varchar(50) NOT NULL, 价格 decimal(10,2) NOT NULL, 库存量 int(11) default NULL, PRIMARY KEY (产品编号) ENGINE=InnoDB DEFAULT CHARSET=gbk;- - Records of pros- -INSERT INTO pros VALUES (0001, 风筝, 18.80, 1024);INSERT INTO pro
3、s VALUES (0002, 杯子, 9.90, 800);INSERT INTO pros VALUES (0003, 帽子, 19.80, 980);INSERT INTO pros VALUES (0004, 项链, 9868.99, 266);INSERT INTO pros VALUES (0005, 钻戒, 18999.68, 520);INSERT INTO pros VALUES (0112358, 洗发露, 20.59, 420);INSERT INTO pros VALUES (0112478, 毛巾, 6.50, 210);INSERT INTO pros VALUES
4、 (0112568, 棉被, 200.86, 300);INSERT INTO pros VALUES (0112690, 墨水, 5.50, 800);INSERT INTO pros VALUES (0112691, 钢笔, 86.99, 128);INSERT INTO pros VALUES (0112965, 毛笔, 35.48, 480);INSERT INTO pros VALUES (0221545, 枕头, 63.68, 520);- - Table structure for pro_sal- -DROP TABLE IF EXISTS pro_sal;CREATE TAB
5、LE pro_sal ( 销售日期 date NOT NULL COMMENT 销售产品的日期, 产品编号 varchar(20) NOT NULL, 销售商编号 varchar(20) NOT NULL, 数量 int(11) NOT NULL, 销售额 decimal(10,0) NOT NULL, PRIMARY KEY (产品编号,销售商编号), KEY 销售商编号 (销售商编号), CONSTRAINT 销售商编号 FOREIGN KEY (销售商编号) REFERENCES saler (销售商编号), CONSTRAINT 产品编号 FOREIGN KEY (产品编号) REFE
6、RENCES pros (产品编号) ENGINE=InnoDB DEFAULT CHARSET=gbk;- - Records of pro_sal- -INSERT INTO pro_sal VALUES (2013-02-06, 0112358, 000061, 120, 5890);INSERT INTO pro_sal VALUES (2013-02-18, 0112690, 037102, 50, 9853);INSERT INTO pro_sal VALUES (2013-02-04, 0112691, 087412, 15, 1421);- - Table structure
7、for saler- -DROP TABLE IF EXISTS saler;CREATE TABLE saler ( 销售商编号 varchar(20) NOT NULL, 销售商名称 varchar(50) NOT NULL, 地区 varchar(10) NOT NULL COMMENT 销售商所有地, 负责人 varchar(10) default NULL, 电话 varchar(20) default NULL, PRIMARY KEY (销售商编号) ENGINE=InnoDB DEFAULT CHARSET=gbk;- - Records of saler- -INSERT I
8、NTO saler VALUES (000061, 山东大德日用, 华中, 刘威华, 18703993634);INSERT INTO saler VALUES (000145, 北京天成, 华北, 刘茂, 15896245683);INSERT INTO saler VALUES (000165, 喜田有限公司, 华北, 王总, 03254898684);INSERT INTO saler VALUES (001547, 丹尼斯, 华南, 胡总, 15649554544);INSERT INTO saler VALUES (037102, 天景商贸, 华北, 王磊, 13598745611)
9、;INSERT INTO saler VALUES (059741, 成建股份有限公司, 华中, 徐总, 02568941565);INSERT INTO saler VALUES (087412, 沐阳集团, 西部, 鲁宣, 15036985412);INSERT INTO saler VALUES (089412, 新建德, 华南, 赵总, 40025684562);数据详情:表名:pros 产品表表名:saler 销售商表表名:pro_sal 销售表一、基于product数据库的三个表,用SQL语言完成以下查询(1) 查询所有产品的产品编号和销售额,并将销售额增加10%后设置别名为“增长
10、额 查询语句:select ps.产品编号,ps.销售额,ps.销售额*0.1 AS 增长额 from pro_sal ps查询结果: (2) 查询“华中、华北、东南”地区的销售商名称和地区。查询语句:select 销售商名称 ,地区 from saler where 地区 in(华中,华北,东南);查询结果:(3) 查找销售商名称的第二个字符是建并且只有三个字符的销售商编号和名称。查询语句:select s.销售商编号,s.销售商名称 from saler swhere s.销售商名称 like_建_;查询结果:(4) 查询有电话的销售商信息。查询语句:select * from saler
11、 where 电话 is not null;查询结果:(5) 查询销售额在2000到5000的并且数量大于100的产品编号和销售日期。查询语句:select ps.产品编号,ps.销售日期 from pro_sal pswhere ps.销售额 BETWEEN 2000 and 5000 and ps.数量100;查询结果:(本无结果,为达到效果另插入一条数据)(6) 求销售了产品的销售商总数。查询语句:select DISTINCT count(ps.销售商编号) as 销售商总数 from pro_sal ps查询结果:(7) 求产品编号为“0001”的产品的平均销售额、最高销售额、最低销
12、售额。查询语句:select AVG(ps.销售额) 平均 , MAX(ps.销售额) 最高,MIN(ps.销售额) 最低 from pro_sal pswhere ps.产品编号=0001;查询结果:(8) 查询销售产品种类超过2类的销售商编号和种类数。并按购买种类数从大到小排序。 查询语句:select * from(select ps.销售商编号,count(ps.产品编号) 销售种类 from pro_sal psGROUP BY ps.销售商编号ORDER BY COUNT(DISTINCT 产品编号) DESC) swhere s.销售种类1;查询结果:(9) 查询销售商的销售商编
13、号和名称、销售的产品编号和数量。查询语句:select s.销售商编号,s.销售商名称,ps.产品编号,ps.数量 from saler s,pro_sal psWHERE s.销售商编号=ps.销售商编号;查询结果:(10) 查询至少销售过1次“0001”号产品的销售商编号和购买次数,并按购买次数多少降序排列。查询语句:select ps.销售商编号 ,COUNT(*) 购买次数from pro_sal pswhere ps.产品编号=0001GROUP BY ps.销售商编号ORDER BY count(*) desc;查询结果:(11) 查询与喜田有限公司在同一地区的销售商名称,地区和负
14、责人。查询语句:SELECT s.销售商名称,s.地区,s.负责人 from saler swhere s.地区 like(select 地区 from saler WHERE 销售商名称=喜田有限公司)and s.销售商名称 !=喜田有限公司;查询结果:(12) 查询销售商的销售情况,要求包括销售了产品的销售商和没有销售的销售商,显示他们的销售商编号、销售商名称、产品编号、销售日期。查询语句:select s.销售商编号,s.销售商名称,ps.产品编号,ps.销售日期from saler s,pro_sal psWHERE s.销售商编号=ps.销售商编号;查询结果:(13) 查询销售额小于
15、平均销售额的产品编号、产品名称和价格、销售额。查询语句:select p.产品编号,p.产品名称,p.价格,ps.销售额from pros p,pro_sal psWHERE p.产品编号=ps.产品编号and ps.销售额(SELECT AVG(销售额) from pro_sal)查询结果:(14) 查询没被销售商销售过的产品信息。查询语句:SELECT * from pros pwhere p.产品编号 not in(select ps.产品编号 from pro_sal ps )查询结果:(15) 查询销售了“0001”但没有销售“0002”号产品的销售商编号和产品编号。查询语句sele
16、ct ps.销售商编号,ps.产品编号 from pro_sal pswhere ps.产品编号=0001and ps.销售商编号 not in (SELECT 销售商编号 from pro_sal where 产品编号=0002)查询结果-产品销售数据库中包含三个表,分别是产品表、销售商表和产品销售表。产品表(产品编号,产品名称,价格,库存量)销售商表(销售商编号,销售商名称,地区,负责人,电话)产品销售表(销售日期,产品编号,销售商编号,数量,销售额)产品表、销售商表和产品销售表的表结构如表1、2和3所示。表1产品表结构列名说明数据类型约束产品编号产品唯一的产品编号字符串,长度为20 主键
17、产品名称产品的产品名称字符串,长度为50非空值价格产品的价格货币数据类型非空值库存量产品的库存量整型空值表2销售商表结构列名说明数据类型约束说明销售商编号销售商唯一编号字符串,长度为20 主键销售商名称销售商名称字符串,长度为50非空值地区销售商所在的地区字符串,长度为10非空值负责人销售商单位负责人字符串,长度为20空值电话销售商的联系电话字符串,长度为20空值表3产品销售表结构列名 说明数据类型约束说明销售日期销售产品的日期日期型非空值产品编号产品的编号字符串,长度为20 外键,引用销售商表的主键销售商编号销售商的编号字符串,长度为20 外键,引用产品表的主键 数量销售商品的数量整型非空值销售额销售额货币数据类型非空值 主键为:(销售日期, 产品编号,客户编号) 二、基于基于product数据库的三个表,完成以下操作 (略)*(1) 为销售商表的“地区”字段添加一个默认值约束”华中”,约束名为address(2) 向产品表插入一个新产品,(0006 ,节能灯, 5,100)(3)把节能灯的价格增加2元。
链接地址:https://www.31ppt.com/p-2394936.html