SQL复杂查询_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > SQL复杂查询

SQL复杂查询

 2018/6/1 0:11:43  何晓ming  程序员俱乐部  我要评论(0)
  • 摘要:1.学生关系是S(S#,SN.,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE),查询选修课程C#为"C2”的学生中成绩最高的学生的学号答:selectS#fromSCwhereC#='C2'andGRADE=(selectmax(GRADE)fromSCwhereC#='C2');ORselectS#fromSCwhereC#='C2'andGRADE>=all(selectGRADEfromSCwhereC#='C2')
  • 标签:SQL

1.学生关系是S(S#,SN.,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE),

查询选修课程C#为"C2”的学生中成绩最高的学生的学号

答:select S# from SC where C#='C2' and GRADE = (select max(GRADE) from SC where C#='C2');

OR

? select S# from SC where C#='C2' and GRADE>= all(select GRADE from SC where C#='C2');

?

?

2.给两张表t1和t2,t1有列id,name,t2有列id,name,log,t1表中id=10的name更新了,怎么把t1中id为10的那行name值更新到t2表中id为10的name中?(t1和t2的id有关联)

答:update t1,t2 set t2.name=t1.name where t1.id=t2.id and t1.id=10;?

?

?

3.两张表,店铺表shop(s_id,sname,loc)和订单表ordertable(o_id,oname,money,s_id),店铺和订单是一对多关系,查询订单数大于等于20的店铺.

答:select s.s_id,s.sname from shop s inner join ordertable o on s.s_id = o.s_id group by s.s_id,s.sname having count(o.o_id)>=20;

?

4.店铺表shop(s_id,sname,loc),查询店铺名字段重复的记录.

答:select sname,count(s_id) as 重复次数 from shop group by sname having count(sname)>1

?

5.查询没有订单的店铺.

答:select * from shop where s_id <> all(select s_id from ordertable );?

? OR?

?SELECT s.* FROM shop s left join ordertable o on s.s_id=o.s_id where o.o_id is null

上一篇: 如何在MaxCompute上处理存储在OSS上的开源格式数据 下一篇: 没有下一篇了!
发表评论
用户名: 匿名