美文网首页
子查询,联结查询,组合查询练习

子查询,联结查询,组合查询练习

作者: 刘昱涵 | 来源:发表于2019-03-27 03:42 被阅读0次

    首先是子查询

    子查询理解起来较简单,就是在一个数据查询里面加上一个设置条件,然后里面加上另外一个表的查询结果。
    例如作业中的题,有三个表


    image

    比如我想要从成绩表中知道张三的语文成绩,光从score表中是没法知道是哪一个的,这时候子查询就可以查出


    image
    这里通过将另外两表里的id链接起来,查询到了对应的数据

    接下来是联结查询

    联结查询就像数学里面的求交集一样,把条件相同的数据放在一起,又或者把其中一个表吻合的数据放入另一个表
    具体用法:比如我要通过科目的id来连接表score和表subject
    那么就这样


    image

    这样id相匹配的部分就连接了起来
    还有外联结
    外联结是以其中一张表为主,另一张表匹配的进行连接,不匹配的部分显示为null
    这里为了演示,在score表里面添加了一段新的记录


    image
    再使用左外联结
    image
    右外联结也是一样的用法和意义

    组合查询

    组合查询用于将不同的查询语句以一个结果返回,在每个select语句中间使用union来连接
    如查询语文成绩的平均分和所有成绩的平均分


    image

    可以看到结果一次性的展示出来了

    他们之间,我个人认为,联结查询的代码较简单,写起来字数少,而且在数据量较大时,因为联结查询只会查询一次,所以比查询多次的子查询要快一些,但是子查询的代码更直观,更易控制条件,所以需要在实际运用中进行取舍。
    组合查询的不好一点是,因为用一个表表示了两次或多次查询的结果,很多不同条件的数据放在一起不利于整理

    相关文章

      网友评论

          本文标题:子查询,联结查询,组合查询练习

          本文链接:https://www.haomeiwen.com/subject/mitavqtx.html