mysql数据库(学习课件).ppt
还剩
149页未读,
继续阅读
下载文档到电脑,马上远离加班熬夜!
亲,很抱歉,此页已超出免费预览范围啦!
如果喜欢就下载吧,价低环保!
内容要点:
数据库之路未完,待续 …..复制表? 通过使用 SELECT 语句创建已存在表的空副本,并且返回一个空结果集。复制表? 可以通过在 SELECT查询中指定字段来限制出现在附表中的字段复制表我们来创建一个副本:● 例如:● 查询选修了课程名为 “ Java” 的学生学号和姓名select sno,sname from studentwhere sno in(select studentid from sc where cno =(select cno from course where cname=‘ Java’ ));? 子查询:– 将一个查询块嵌套在另一个查询块的 WHERE子句或 HAVING短语的条件中的查询称为子查询。一个 SELECT-FROM-WHERE语句称为一个查询块? 例如:select sname from student where sno in (select studentid from sc where courseid=2);多表查询 —右外连接SELECT?Titles.Title_id,?Titles.Title,?Publishers.Pub_nameFROM?titles?RIGHT?OUTER?JOIN?Publishers?ON?Titles.Pub_id?=?Publishers.Pub_idScStudentsID CourseID Grade1223001001002002978967763 003 81多表查询 —左外连接StundentsSName梅超风陈玄风陆乘风曲灵风SNo1234查询结果SName梅超风陈玄风陈玄风陆乘风CourseID Grade00100100200297896776陆乘风 003 81曲灵风 NULL NULLSELECT? S.SName,C.Co多表查询 —三表连接SELECT?S.SName?AS?姓名 ,?CS.CName?AS?课程 ,?C.Grade?AS?成绩FROM?Students?AS?S?INNER?JOIN?Sc?AS?C?ON?(S.SCode?=?C.StudentID)INNER?JOIN?Course?AS?CS?ON?(CS.CourseID?=?C.CourseID)多表查询 —内连接 -2SELECT?Students.SName,?Sc.CourseID,?Sc.GradeFROM? Students,ScWHERE Students.SNo?=?Sc.StudentIDSELECT? S.SName,C.CourseID,C.Grade?From? Sc?AS?CINNER?JOIN? Students?AS?SON? C.StudentID?=?S.SNoScStudentsID CourseID Grade1223001001002002978967763 003 81猜一猜:这样写,返回的查询结果是一样的吗?SELECT? S.SName,C.Course多表查询 —分类? 连接查询–同时涉及多个表的查询称为连接查询–用来连接两个表的条件称为连接条件? 内连接 (INNER JOIN)? 外连接——左外联结 (LEFT JOIN)——右外联结 (RIGHT JOIN)外连接与普通连接的区别–普通连接操作只输出满足连接条件的元组–外连接操作以指定表为连接主体,将主体表中不满足连接条件的元组一并输出:多表查询 —问题学员内部测试成绩查询的每次显示的都是学员的编号信息,因为该表中只存储了学员的编号;实际上最好显示学员的姓名,而姓名存储在学员信息表;如何同时从这两个表中取得数据?? 举例 25 : 查询信息系、 美术 系和计算机 系 学生的姓名和性别select sname,ssex from stude
发表评论
暂无评论,赶快抢占沙发吧。