From a6467aacaec6fe35af15b5ff3eb0b58087086e98 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 8 Apr 2021 19:20:34 +0800 Subject: [PATCH 1/2] 4444 --- .../\345\244\215\344\271\2401.sql" | 74 ++++++++++++++++++ .../\345\244\215\344\271\2402.sql" | 77 +++++++++++++++++++ .../\345\244\215\344\271\2403.sql" | 77 +++++++++++++++++++ 3 files changed, 228 insertions(+) create mode 100644 "\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2401.sql" create mode 100644 "\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2402.sql" create mode 100644 "\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2403.sql" diff --git "a/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2401.sql" "b/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2401.sql" new file mode 100644 index 0000000..5708725 --- /dev/null +++ "b/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2401.sql" @@ -0,0 +1,74 @@ +create database GoodsDB +on +( + name='GoodsDB', + filename='D:\GoodsDB.mdf' +) +log on +( + name='GoodsDB_log', + filename='D:\GoodsDB_log.mdf' +) +use GoodsDB +go +create table GoodsType +( + TypeID int primary key identity(1,1) not null, + TypeName nvarchar(20) not null +) +create table GoodsInfo +( + GoodsID int primary key identity(1,1) not null, + GoodsName nvarchar(20) not null, + GoodsColor nvarchar(20)not null, + GoodsBrand nvarchar(20), + GoodsMoney money not null, + TypeID int foreign key references GoodsType(TypeID) +) +insert into GoodsType +select '服装内衣' union +select '鞋包配饰' union +select '手机数码' +select * from GoodsType +insert into GoodsInfo(GoodsName,GoodsColor,GoodsBrand,GoodsMoney,TypeID) +select '提花小西装', '红色', '菲曼琪', '300', 1 union +select '百搭短裤', '绿色', '哥弟', '100 ', 1 union +select '无袖背心', '白色', '阿依莲', '700 ', 1 union +select '低帮休闲鞋', '红色', '菲曼琪', '900', 2 union +select '中跟单鞋', '绿色', '哥弟', '400', 2 union +select '平底鞋', '白色', '阿依莲', '200 ', 2 union +select '迷你照相机', '红色', '尼康', '500', 3 union +select '硬盘', '黑色', '希捷 ', '600 ', 3 union +select '显卡 ', '黑色', '技嘉', '800 ', 3 +--3、查询价格最贵的商品名称,商品颜色和商品价格,要求使用别名显示列名 +select GoodsName 商品名称,GoodsColor 商品颜色 ,GoodsMoney 商品价格 from GoodsInfo +where GoodsMoney in (select max(GoodsMoney) from GoodsInfo) +--4、按商品类型编号分组查询商品最高价格,最低价格和平均价格,要求使用别名显示列名 +select TypeID,max(GoodsMoney)最高价格,min(GoodsMoney)最低价格,avg(GoodsMoney)平均价格 +from GoodsInfo group by TypeID + +--5、查询商品信息所有列,要求商品颜色为红色,价格在300~600之间 +select * from GoodsInfo where GoodsColor='红色' and GoodsMoney between 300 and 600 +--6、查询每类商品的平均价格,要显示商品的类别名称和平均价格。 +select b.TypeName 商品的类别,round(avg(a.GoodsMoney),2)平均价格 from GoodsInfo a inner join GoodsType b on a.TypeID=b.TypeID +group by TypeName + +--7、查询每种颜色的商品数 +select GoodsColor,count(GoodsColor)商品数 from GoodsInfo +group by GoodsColor +select * from GoodsInfo +--8、给商品类型表添加一个“备注”字段,并给所有记录的备注都填上“我是商品类型信息备注” +select * from GoodsType +alter table GoodsType add remark text +update GoodsType set remark='我是商品类型信息备注' + +--9、在商品信息表中删除商品类型的外键约束 +alter table GoodsInfo drop FK__GoodsInfo__TypeI__1273C1CD + +--10、删除所有商品类型记录 +delete GoodsType + + + +select * from GoodsType +select * from GoodsInfo \ No newline at end of file diff --git "a/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2402.sql" "b/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2402.sql" new file mode 100644 index 0000000..d181735 --- /dev/null +++ "b/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2402.sql" @@ -0,0 +1,77 @@ +create database HOUSE_DB +on +( + name='HOUSE_DB', + filename='f:\HOUSE_DB.mdf', + size = 5mb, + maxsize=50mb, + filegrowth=1mb +) +log on +( + name='HOUSE_DB_log', + filename='f:\HOUSE_DB_log.ldf', + size=5mb, + maxsize=50mb, + filegrowth=1mb +) +use HOUSE_DB +go +create table HOUSE_TYPE +( + type_id int not null primary key identity, + type_name varchar(50) not null unique +) +create table HOUSE +( + ouse_id int not null primary key identity, + house_name varchar(50) not null , + house_price float not null default(0), + type_id int not null foreign key references HOUSE_TYPE(type_id) +) + + +insert into HOUSE_TYPE(type_name) +select '小户型' union +select '经济型' union +select '别墅' +select * from HOUSE_TYPE +insert into HOUSE(house_name,house_price,type_id) +select '平房','500',3 union +select '高楼','1000',2 union +select '总统精装府','2000',1 +select * from HOUSE +--4、添加查询 +--查询所有房屋信息 +select * from HOUSE +--使用模糊查询包含”型“字的房屋类型信息 +select * from HOUSE_TYPE where type_name like '%型' +--查询出房屋的名称和租金,并且按照租金降序排序 +select house_name,house_price from HOUSE order by house_price desc +--使用连接查询,查询信息,显示房屋名称和房屋类型名称 +select HOUSE.house_name ,HOUSE_TYPE.type_name from HOUSE_TYPE inner join HOUSE on HOUSE_TYPE.type_id=HOUSE.type_id +--查询所有房屋中月租最高的房屋,显示最高的租金和房屋名称 +select top 1 house_price,house_name from HOUSE order by house_price desc +select house_price,house_name from HOUSE where house_price in(select max(house_price) from HOUSE) +--查询每种房屋类型的房屋数量 + +select b.type_name,a.type_id,count(house_name)房屋数量 from HOUSE a +inner join HOUSE_TYPE b on a.type_id=b.type_id +group by a.type_id,house_name,b.type_name + + +--修改房屋类型表的类型名称字段,把数据类型改成nvarchar(30) +--先删除约束 +alter table HOUSE_TYPE drop UQ__HOUSE_TY__543C4FD94714335E +alter table HOUSE_TYPE alter column type_name nvarchar(30) +--给房屋信息表新增一个“地址”字段,请选择合适的数据类型。 +alter table house add dizhi nvarchar(50) +--把房屋价格的默认值0改为100 +alter table house drop DF__HOUSE__house_pri__276EDEB3 +alter table house add CONSTRAINT DF default(100) for house_price +--查询出名字最长的房屋信息。 +select top 1 ouse_id,house_name,house_price,type_id,dizhi, len(house_name)名字长度 from HOUSE +group by ouse_id ,house_name,house_price,type_id,dizhi order by house_name desc + +select * from HOUSE +select * from HOUSE_TYPE \ No newline at end of file diff --git "a/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2403.sql" "b/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2403.sql" new file mode 100644 index 0000000..a002d03 --- /dev/null +++ "b/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2403.sql" @@ -0,0 +1,77 @@ +create database StarManagerDB +on +( +name='StarManagerDB', +filename='f:\StarManagerDB.mdf' + ) + log on + ( + name='StarManagerDB_log', +filename='f:\StarManagerDB_log.ldf' + ) + use StarManagerDB + go + create table StarType + ( + T_NO int not null primary key identity(1,1), + T_NAME nvarchar(20) + ) + create table StarInfo + ( + S_NO int not null primary key identity(1,1), + S_NAME nvarchar(20) not null, + S_AGE int not null, + S_HOBBY nvarchar(20), + S_NATIVE nvarchar(20)default('中国大陆'), + S_T_NO int foreign key references StarType(T_NO), + nianshouru money default('10000000') + ) + + insert into StarType(T_NAME) + select '体育明星' union + select 'IT明星' union + select '相声演员' + select * from StarType + insert into StarInfo(S_NAME,S_AGE,S_HOBBY,S_NATIVE,S_T_NO) + select '梅西',30,'射门','阿根廷',1 union + select '科比',35,'过人','美国',1 union + select '蔡景现',40,'敲代码','中国',2 union + select '马斯克',36,'造火箭','外星人',2 union + select '郭德纲',50,'相声','中国',3 union + select '黄铮',41,'拼多多','中国',2 + select * from StarInfo + select * from StarType +--3、查询年龄最大的3个明星的姓名,特技和籍贯信息,要求使用别名显示列名。 +select top 3 S_NAME 姓名,S_AGE 年龄,S_HOBBY 特技,S_NATIVE 籍贯 from StarInfo order by S_AGE desc +--4、按明星类型编号分类查询明星人数,明星平均年龄, +--显示明星人数大于2的分组信息,要求使用别名显示列名。 +select S_T_NO 类型编号,count(S_T_NO)明星人数,avg(S_AGE)平均年龄 from StarInfo group by S_T_NO having count(S_T_NO)>2 +--5、查询明星类型为“体育明星”中年龄最大的姓名、特技、籍贯信息,要求显示列别名。 +select top 1 S_NAME 姓名,S_AGE 年龄,S_HOBBY 特技,S_NATIVE 籍贯信息 from StarType + inner join StarInfo on StarType.T_NO=StarInfo.S_T_NO where T_NAME='体育明星' + order by S_AGE desc +--6、请统计每种明星类型的人数 +select b.T_NAME,S_T_NO,count(S_T_NO)人数 from StarInfo a +inner join StarType b on a.S_T_NO=b.T_NO +group by S_T_NO,b.T_NAME + +--7、给明星表增加一个“年收入”字段,并设置默认值为10000000(1千万) + +--8、查询每个国家的明星人数。 +select S_NATIVE,COUNT(S_NATIVE)人数 from StarInfo GROUP BY S_NATIVE +--9、搜索所有明星信息、明星类型名称,按籍贯排序,若籍贯一样,按年龄降序排序。 + select * from StarInfo order by S_NATIVE,s_age desc + +--10、搜索名字为两个字,且最后一个字为“西”的明星信息、明星类型名称 +select a.*,b.T_NAME from StarInfo a +inner join StarType b on a.s_t_no=b.t_no +where a.s_name like '%西' +--11、给两个表都新增一个字段“创建时间”,默认值是系统当前时间。 +alter table StarInfo add time datetime +update StarInfo set time= getdate() + +alter table StarType add time datetime +update StarType set time= getdate() + + select * from StarInfo + select * from StarType -- Gitee From 060a4c679ba3073d7695869d71889996dfa8e8d0 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 8 Apr 2021 21:09:48 +0800 Subject: [PATCH 2/2] 456 --- .../\345\220\264\347\205\214/\345\244\215\344\271\2403.sql" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2403.sql" "b/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2403.sql" index a002d03..85ef0fb 100644 --- "a/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2403.sql" +++ "b/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\345\220\264\347\205\214/\345\244\215\344\271\2403.sql" @@ -24,7 +24,6 @@ filename='f:\StarManagerDB_log.ldf' S_HOBBY nvarchar(20), S_NATIVE nvarchar(20)default('中国大陆'), S_T_NO int foreign key references StarType(T_NO), - nianshouru money default('10000000') ) insert into StarType(T_NAME) @@ -56,7 +55,8 @@ inner join StarType b on a.S_T_NO=b.T_NO group by S_T_NO,b.T_NAME --7、给明星表增加一个“年收入”字段,并设置默认值为10000000(1千万) - +alter table StarInfo add nianshouru money +alter table StarInfo add constraint de default(10000000) for nianshouru --8、查询每个国家的明星人数。 select S_NATIVE,COUNT(S_NATIVE)人数 from StarInfo GROUP BY S_NATIVE --9、搜索所有明星信息、明星类型名称,按籍贯排序,若籍贯一样,按年龄降序排序。 -- Gitee