• 连接查询(等值连接,内连接,左连接,右连接,自关联)


    有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:

     

    例:查询郑州市所有区县

     

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

     

  • 相关阅读:
    POJ-1182 食物链
    hdu 1879 继续畅通工程
    HDU 2604 Queuing
    hdu 1232 畅通工程
    POJ-1611 The Suspects
    Free DIY Tour
    Tr A
    不容易系列之(3)―― LELE的RPG难题
    W3C标准冒泡、捕获机制
    JavaScript 浏览器事件解读
  • 原文地址:https://www.cnblogs.com/xiaomengceshi/p/13632703.html
Copyright © 2020-2023  润新知