mysql3.5 所有表_mysql学习笔记3.5
緊接著筆記3的訓練
介紹一個對于我來說的比較難的難點!!!!
select * from sc;
select student.sno,sname,avg(grade) as平均分fromstudent,scwhere student.sno=sc.snogroup bystudent.snohaving 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 ascpprefrom c as c1,c asc2where c1.cpre=c2.cno;/*求每一門課的間接選修課*/
說上一句相關的話噠噠哦:
可以這樣給表設置外碼
課程表中的先修課就是課程表的外碼!!!!!!!
alter tablecadd constraintFK_cforeign key(cpre)references c(cno);/*將課程表c的cpre字段設置為c的外碼,參照關系也是c*/
下一個問題--------》
代碼和結果如下下:
select c1.cno,c1.cname,c2.cpre ascpprefrom c as c1,c asc2where c1.cpre=c2.cno;/*求每一門課的間接選修課*/
/*左外連接*/
/*查詢所有學生的...情況*/
selectsname,cno,gradefrom student left join sc on student.sno=sc.sno;
右外連接
/*查詢所有的課程信息,...*/
selectcname,sc.sno,gradefrom sc right outer join c on sc.cno=c.cno;/*右連接*/
總結
以上是生活随笔為你收集整理的mysql3.5 所有表_mysql学习笔记3.5的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用pdfbox将多个pdf合成一个pd
- 下一篇: 8 9区别 endnote7_EndNo