1、insert into student(seq_student.nextval,'婷婷',20,'女')
2、update student set Sage=18 where S#='001'
3、delete from student where s#='002'
4、alter table student modify sage varchar2(30) default '18' NOT NULL
5、select s#,sum(score) from sc group by s# having sum(score)<180
6、(我理解是考试0分的的课程)select s#,c# from sc where score=0
7、select * from teacher where t# in(select t# from coures where cname in('英语','数学'))
8、这个问题要分解一下,首先查出小名的学号,再通过小明的学号去查询他的课程
语句如下:select cname from course where s# =(select s# from student where sname='小明')这样查是有前提条件的,这个班上只有一个叫‘小明’的同学,如果有多个‘小明’同学,那么要用where s# in(select s# from student where sname='小明')
上面已经把小明学的课程查询出来了,下面就要查询学了这些课程的学生姓名。
select sname from student where s# in(select s# from sc where cname in(
select cname from course where s# =(select s# from student where sname='小明'))
上面的回答,我是看你图片 想象的 没有实际的表测试。注意一下多表查询括号对齐,我没有数过。
多表子查询的解题步骤总结起来就是“先主查询,后子查询”,细化就是下面三步骤:1)分清主表和子表+两表的连接条件【放在括号里面的表就是主表,括号外面的表就是子表】
2)写出主查询 select * from 主表 where 连接字段 in () 【括号是子查询占位符】
3) 写出主查询括号里面的子查询(关键点,得到子查询的所求目标:将题目的结果字段替换成连接字段即可)
正在看黑马程序员软件测试的学习视频,你也可以看下,这些知识都有教的,抽时间就能学!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)