mysql数据库高级查询

1.exists 子查询:用来判断是否存在,例如
                              (1)create table if exsits school(....)判断school表是否存在   
                              (2)select * from school where exists(子查询)  
                                        子查询有返回结果,exists判断为true,外层父级查询执行。
                                        子查询无返回结果,exists判断为false,外层父级查询不执行 。



2.多表连接查询:
            分为三种 内连接 inner join
                             右外链接 right join
                             左外链接 left join                                                                                                                              (1)内连接例子:

从表student和studentResult连表查询得出查询结果

select s.student,s.studentName,sr.subject,sr.studentResult from student as s inner join studengResulet as sr on(s.studentNO=sr.studentNO);
语句解释:  从student和studentResult表格查询student等几个字段,设student表别名s 设studengResult表别名为 sr 条件是student表的studentNo和student表的studentNO字段相等

三表联查

(2)左联例子:

左联查询

SELECT S.studentName,R.subjectNo,R.studentResult
FROM student AS S
LEFT JOIN result AS R
ON S.studentNo = R.studentNo;

简单来说 join左侧表对应字段去匹配右侧表字段,S.studentNO第一个匹配右侧R.student,S编号1匹配右侧R表匹配第一个成功没有第二个编号1那么结束,S表编号2匹配R表编号2,匹配到第一条数据,然后匹配到第二条数据,继续匹配数据,匹配不到结束,进行编号3的匹配。
(3)右连查询与左联查询相反

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 50个常用的sql语句Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname...
    哈哈海阅读 1,264评论 0 7
  • mysql数据库中 :database : 文件夹table : 数据表(数据文件) 进入mysqlmysql -...
    赋闲阅读 593评论 0 0
  • 说实话,我虽然是女人,但我不喜欢看韩剧。但身边的女性朋友几乎都喜欢看韩剧,深陷其中。而她们的老公或男朋友出奇一致都...
    刘娇阅读 1,804评论 16 16
  • 《又是一年清明》 文/刘汉皇 野花在静穆中绽放雨丝从远空而来,贯穿天地幽冥。有风在恸哭又是一年清明的时候 坟头的杂...
    刘汉皇阅读 863评论 10 21
  • 一直在产品经理的道路上探索,今天在知乎上看到了一个帖子,说了产品经理的几个层次,感触很深。 菜鸟级别的批判性思维,...
    Fred_young阅读 886评论 2 5