zoukankan      html  css  js  c++  java
  • 连接查询(等值连接,内连接,左连接,右连接,自关联)

    有3个表

    1、等值连接:连接过程中,先连接,再条件判断

        语法:select * from 表1,表2

           where 表1.列=表2.列

        例:查询学生信息及学生的成绩

                       

          

     2、内连接: 连接过程中,先判断,符合条件才会连接

        语法:select * from 表1,表2

           inner join 表2.列=表2.列

     例:查询课程信息及学生的成绩

    方式1:

    方式2:

     

     例:查询学生信息及学生的课程对应的成绩

    方式1:

    方式2:

     

     例:查询王昭君的成绩,要求显示姓名,课程号,成绩

    方式1:

    方式2:

     

     

     例:查询王昭君的数据库成绩,要求显示姓名、课程名、成绩

    方式1:

    方式2:

     

     例:查询所有的数据库成绩,要求显示姓名、课程名、成绩

    方式1:

    方式2:

     

     例:查询男生中最高成绩,要求显示姓名、课程名、成绩

    方式1:

    方式2:

     

     3、左连接:

        语法:select * from 表1,表2

           left join 表2 on 表1.列=表2.列

    例:查询所有学生的成绩,包括没有成绩的学生

     

     例:查询所有学生的成绩,不包括没有成绩的学生

     

    例:查询所有学生的成绩,包括没有成绩的学生,需要显示课程名

    例:查询所有学生的成绩,不包括没有成绩的学生,需要显示课程名

     

     4、右连接:

        语法:select * from 表1,表2

           right join 表2 on 表1.列=表2.列

    例:查询所有学生的成绩,包括没有成绩的学生

     

     例:查询所有学生的成绩,不包括没有成绩的学生

     

     例:查询所有课程的成绩,包括没有成绩的学生,包括学生信息

     

     例:查询所有课程的成绩,不包括没有成绩的学生,包括学生信息

     

     5、自关联

    举例:没有上级编号,Null

    aid跟pid进行比较,如果后面的pid==前面的aid,代表市属于省

     例:一共有多少个省 :select * from areas where pid is null;

    pid为空,说明是省,没有上级

    例:查询河南省所有城市  (areas可以查2次)

    方式1:

    查询的时候,重命名2个表格,一个是省,一个是市

     方式2:

     

    例:查询郑州市所有区县

     

     例:查询河南省的所有区县

     

  • 相关阅读:
    Reactor模式
    libcurl安装
    libcurl
    http概述
    添物不花钱学JavaEE(基础篇) --HTML
    Android BGABadgeView:BGABadgeFrameLayout(5)
    添物不花钱学计算机及编程(预备篇)— 总述
    Android BGABadgeView:BGABadgeImageView以及BGABadgeRelativeLayout(4)
    Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案
    Android BGABadgeView:BGABadgeLinearLayout以整体线性布局作为BadgeView(3)
  • 原文地址:https://www.cnblogs.com/xiaomengceshi/p/13632703.html
Copyright © 2011-2022 走看看