Lizzy520520
--基础题--1.查询读者最喜爱的3种图书分类号,即借阅表中出现最多的3类图书分类号SELECT TOP 3 [分类号] FROM [图书] JOIN [借阅] ON [图书].[图书编号]=[借阅].[图书编号] GROUP BY [分类号] ORDER BY COUNT(*) DESC--附加题--1.查询小于20岁的读者最喜欢的3类图书SELECT TOP 3 [书名] FROM [读者] JOIN [借阅] ON [读者].[借书证号]=[借阅].[借书证号] JOIN [图书] ON [图书].[图书编号]=[借阅].[图书编号] WHERE [年龄]<20 GROUP BY [书名] ORDER BY COUNT(*) DESC--2.查询至少借阅了 宁静 所借图书(书名相同)的人的姓名SELECT [姓名] FROM [读者] WHERE [姓名]>'宁静' AND [借书证号] IN(SELECT [借书证号] FROM [借阅] WHERE [图书编号] IN(SELECT [图书编号] FROM [读者] JOIN [借阅] ON [读者].[借书证号]=[借阅].[借书证号] WHERE [姓名]='宁静'))--3.查询借阅了多于3本书且每本书价均高于60的读者的借书证号SELECT [借书证号] FROM [借阅] JOIN [图书] ON [图书].[图书编号]=[借阅].[图书编号] WHERE [单价]>60 GROUP BY [借书证号] HAVING COUNT(*)>3GO--4.假定读者表中所有人姓名均不多于4个汉字,请建立一个查询语句,要求根据名字中任意1个或两个或3个或4个汉字,即可找到该读者的详细信息(即完全模糊查询)CREATE PROCEDURE CX @XM VARCHAR(8) ASIF LEN(@XM)=1 SELECT * FROM [读者] WHERE @XM LIKE '['+RTRIM([姓名])+']' ELSE IF LEN(@XM)=2 SELECT * FROM [读者] WHERE LEFT(@XM,1) LIKE '['+RTRIM([姓名])+']' AND RIGHT(@XM,1) LIKE '['+RTRIM([姓名])+']' ELSE IF LEN(@XM)=3 SELECT * FROM [读者] WHERE LEFT(@XM,1) LIKE '['+RTRIM([姓名])+']' AND SUBSTRING(@XM,2,1) LIKE '['+RTRIM([姓名])+']' AND RIGHT(@XM,1) LIKE '['+RTRIM([姓名])+']' ELSE IF LEN(@XM)=4 SELECT * FROM [读者] WHERE LEFT(@XM,1) LIKE '['+RTRIM([姓名])+']' AND SUBSTRING(@XM,2,1) LIKE '['+RTRIM([姓名])+']' AND SUBSTRING(@XM,3,1) LIKE '['+RTRIM([姓名])+']' AND RIGHT(@XM,1) LIKE '['+RTRIM([姓名])+']'GO
miumiu大酱
1、创建数据库createdatabase学生成绩数据库onprimary(name='学生成绩数据库_mdf',filename='e:\学生成绩数据库.mdb',size=1,maxsize=10,filegrowth=10%)logon(name='学生成绩数据库_ldf',filename='e:\学生成绩数据库.ldf',size=1,maxsize=10,filegrowth=10%)2、创建课程表createtable课程表(课程号char(6)primarykey,课程名称char(20)notnull,任课教师char(8))3、创建学生表createtable学生表(学号char(6)primarykey,姓名char(8)notnull,性别char(2)constraintck_性别check(性别in('男','女')),民族char(20)notnulldefault'汉')4、创建成绩表createtable成绩表(学号char(6)notnullforeignkey(学号)references学生表(学号),课程号char(6)notnullforeignkey(课程号)references课程表(课程号),分数intconstraintck_分数check(分数between0and150))5、添加信息insert课程表(课程号,课程名)values('100001','大学语文')insert课程表(课程号,课程名)values('100002','大学英语')6.写出创建成绩表视图(学号,姓名,课程号,课程名称,成绩)的代码createview成绩表视图asselect学生表.学号,姓名,课程表.课程号,课程名称,成绩from学生表,课程表,成绩表where学生表.学号=成绩表.学号and成绩表.课程号=课程表.课程号7.写出计算大学语文课程成绩最高分、最低分、平均分的代码selectmax(分数)'最高分数',min(分数)'最低分数',avg(分数)'平均分数'from成绩表where学号in(select学号from课程表where课程名称='大学语文')8、检索姓李的女同学的信息:姓名、性别、民族select姓名,性别,民族from学生表where姓名like'李%'and性别='女'
优质考试培训问答知识库