sql实验四视图 sql实验四视图操作实用
【导读预览】此篇优秀范文“sql实验四视图 sql实验四视图操作实用”由阿拉题库网友为您整理分享,以供您参考学习之用,希望此篇资料对您有所帮助,喜欢就复制下载支持吧!
sql实验四视图 sql实验四视图操作篇1
select sclasso,avg(degree)as平均成绩 from student,score group by sclasso order by sclasso--9.查询 score 表中至少有名学生选修的课程号及平均分。
selecto as 课程号,avg(degree)as平均分 from score group byo having count(*)>=5 /*10.查询其平均分高于的学生的学号,姓名和平均分。*/ select as 学号,sname as 姓名,avg(degree)as "平均成绩" from student,score where = group by , having avg(degree)>=80--11.查询“”班所选课程的平均分,包括课程名和平均分。
select as 课程名,avg(degree)as平均分 from student,score,course
where = and ="95031" and = group by ,--12.查询所有教师的任课情况,包括教师姓名和课程名两列,如果某位教师没有任课则课程名列显示 null。
select , from teacher left join course on =--外链接 p145--13.查询其最低分大于,最高分小于的学生的学号、所选课程号及其分数。
select snoo,degree from score a where(select min(degree)from score b where =)>70 and(select max(degree)from score c where =)<90 and degree is not null--14.查询成绩高于所选课平均分的学生学号、姓名、课程号和成绩。
select 学号=,姓名=sname,课程号o,成绩=degree from student inner join score a on = where >(select avg(degree)from score b where =)--15.查询每门课最高分的课程名、学生姓名和成绩。
select 课程名ame,学号=,姓名=sname,成绩=degree from student,course,score where = and = and degree=(select max(degree)from score where =)--16.查询选修其课程的学生人数多于人的教师姓名。
select tname from score a,teacher,course where = and(select count(*)from score where =)>5 group by tname--17.查询没选“张旭”教师课的学生成绩,并按成绩递增排列。
select from score,course,teacher where = and = and tname!="张旭" order by degree--18.查询没有任课的教师的姓名。
select tname from teacher a except select tname from course,teacher b where =--19.查询没有选修"6-166"课程的学生的学号和姓名。
select sno,sname from student where sno not in(select sno from score whereo="6-166")--20.查询出所有男生信息放入 ns 表中。
--第一种 select 学号=,姓名=sname,性别=ssex,年龄=datediff(year,sbirthday,getdate()),班级=sclass,课程号=,课程名ame,成绩=degree into ns from student,course,score where ssex="男" and = and = order by
--第二种 select * into ns from student where ssex="男" select * from ns--21 删除没人选的课程。
delete course where not in(selecto from score)--22.将“”班学生的成绩全部减去分。
update score set degree=degree-10 from score join student on = where ="95031" use ordermanagement--1.查询年的所有订单信息(订单号,客户号,订购日期)。
select * from order_list where year(定购日期)=2001--2.查询订单明细中有哪些器件(即查询不重复的器件号和器件名)。
select distinct 器件名,器件号 from order_detail--3.查询客户名为“三益贸易公司”的订购单明细(订单号、器件号、器件名、单价和数量),查询结果先按“订单号”升序排,同一订单的再按“单价”降序排。
select 订单号,器件号,器件名,单价,数量 from order_detail,order_list,customer where 客户名="三益贸易公司" and customer.客户号=order_list.客户号 and order_detail.[ 订单号]=order_list.订单号 order by 订单号,单价 desc--4.查询目前没有订单的客户信息。
select * from customer where 客户号 not in(select 客户号 from order_list)--5.查询客户名中有“科技”字样的客户信息。
select * from customer where 客户名 like "%科技%"--6.查询每笔订单的订单号和总金额,查询结果按订单号升序排,查询结果存入表 zje 中。
select [ 订单号],总金额=sum(数量*单价)into zje from order_detail group by [ 订单号] order by [ 订单号]--7.查询订单数量超过笔的客户号及订单数量,查询结果按订单数量降序排。
select 客户号,订单数量=count(订单号)from order_list group by 客户号 having count(订单号)>5 order by count(订单号)desc--8.查询每种器件中单价最低的订单明细(订单号、器件号、器件名、单价和数量)。
select * from order_detail a where 单价=(select min(单价)from order_detail b
where a.器件名=b.器件名)/*9.对表 order_detail 建立查询,把“订单号”的尾部字母相同且“器件号”相同的订单合并 成一张订单,新的“订单号”取原来订单号的尾部字母,器件号不变,“单价”取最低价,“数量”取合计,查询结果先按新的“订单号”升序排,再按“器件号”升序排。*/ select right([ 订单号],1)as "订单号", 器件号, min(单价)as 单价, sum(数量)as 数量 from order_detail group by right([ 订单号],1), 器件号 order by 订单号, 器件号--10.查询销售总数量最多的三种器件及其总数量。
select top 3 器件号,器件名,sum(数量)as 总数量 from order_detail group by 器件号,器件名 order by 总数量 desc
sql心得体会
sql实践
实验四报告
信管实验四
实验四查询
上一篇:实用小学生演讲稿范文格式优推4篇