您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

mysql学习笔记3.5

bubuko 2022/1/25 20:06:48 mysql 字数 10818 阅读 942 来源 http://www.bubuko.com/infolist-5-1.html

紧接着笔记3的训练 介绍一个对于我来说的比较难的难点!!!! select * from sc; select student.sno,sname,avg(grade) as 平均分 from student,sc where student.sno=sc.sno group by student. ...

紧接着笔记3的训练

介绍一个对于我来说的比较难的难点!!!!

select * from sc;

 

技术分享图片

 

 

 

select student.sno,sname,avg(grade) as 平均分
from student,sc
where student.sno=sc.sno
group by student.sno
having avg(grade)>90/*这一个条件我竟然忘记写了qwq*/
order by grade desc;

 

 

 

 

 

 技术分享图片

 

 

技术分享图片

 

 

 

 

我刚才写的时候忘记了    平均分高于90分这个条件了!!!!!!!!!!!

 

分组之后还有一个having来筛选之!!!!!!

 

 

having子句与where有相似之处但也有区别,都是设定条件的语句。

 

having 是筛选组 而where是筛选记录。

技术分享图片

 

 

 

 

go on----------->

 

 

select student.sno,sname,avg(grade) as 平均分
from student,sc
where student.sno=sc.sno
group by student.sno
having avg(grade)>90/*这一个条件我竟然忘记写了qwq*/
order by grade desc
limit 2;

 

技术分享图片

 

 

技术分享图片

 

 

 

 

 

 

2.接下来开始自连接,外连接,全连接之类啦,学习领会掌握一边SQL语言化的关系代数语言哦,2333!

 

 

 

自连接

技术分享图片

 

 

 

 

 

select * from student;

 

技术分享图片

 

/*查询和龙龙在同一学院学习的同学的姓名*/
select s2.sname
from student as s1,student as s2
where s1.sname=‘龙龙‘
and s1.sdeptno=s2.sdeptno;

  技术分享图片

 

 

 

查询每一门课的间接先修课

select c1.cno,c1.cname,c2.cpre as cppre
from c as c1,c as c2 
where c1.cpre=c2.cno;/*求每一门课的间接选修课*/

技术分享图片

 

 

说上一句相关的话哒哒哦:

 

可以这样给表设置外码

课程表中的先修课就是课程表的外码!!!!!!!

 

技术分享图片

 

 

 

 

 

https://www.cnblogs.com/xiohao/archive/2013/06/28/3160265.html

 

alter table c
add constraint FK_c 
foreign key(cpre)
references c(cno);/*将课程表c的cpre字段设置为c的外码,参照关系也是c*/

 

 

 

 

下一个问题--------》

技术分享图片

 

 

代码和结果如下下:

 

 

select c1.cno,c1.cname,c2.cpre as cppre
from c as c1,c as c2 
where c1.cpre=c2.cno;/*求每一门课的间接选修课*/

 

技术分享图片

 

 

 

 

 

 

 

技术分享图片

 

 

技术分享图片

 

 

 

/*左外连接*/
/*查询所有学生的...情况*/
select sname,cno,grade
from student left join sc on student.sno=sc.sno;

 

技术分享图片

 

 

 

右外连接

/*查询所有的课程信息,...*/
select cname,sc.sno,grade
from sc right outer join c on sc.cno=c.cno;/*右连接*/

技术分享图片

 

mysql学习笔记3.5

原文:https://www.cnblogs.com/dragondragon/p/12455612.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶