zoukankan      html  css  js  c++  java
  • Oracle多表连接查询

    连接:将一张表中的行按照某种条件和另一张表中的行连接起来形成一个新行的的过程。

    根据连接查询返回的结果,分为3类:

      内连接(inner join)

      外连接(outer join)

      交叉连接(cross join)

    其中外连接有分为两种:左外连接右外连接

    下面演示一下三张表的连接过程:

    先查询一下,每张表的数据

    1 select c_id 班级id,c_name 班级名称,teacher_id 班主任id from CLASS
    2 select t_id 班主任id, t_name 班主任姓名 from teacher
    3 select s_id 学生id, s_name 学生姓名, class_id 班级id from student

    班级表数据如下:

    班主任表数据如下:

    学生表数据如下:

    三张表交叉连接的sql语句如下:

    select s_id 学生id, s_name 学生姓名, class_id 班级id, t_id 班主任id, t_name 班主任姓名, c_id 班级id,c_name 班级名称,teacher_id 班主任id 
    from student s join class c on s.class_id=c.c_id join teacher t on  c.teacher_id=t.t_id

    结果如下:

    带条件查询:

    例如查询s.class_id=2的数据

    select s_id 学生id, s_name 学生姓名, class_id 班级id, t_id 班主任id, t_name 班主任姓名, c_id 班级id,c_name 班级名称,teacher_id 班主任id 
    from student s join class c on s.class_id=c.c_id join teacher t on  c.teacher_id=t.t_id and s.class_id=2

    带条件查询结果为:

    多表查询今天先写到这里吧!改天继续写!

  • 相关阅读:
    第二周总结
    币值转换
    抓老鼠
    秋季学习总结
    第七周作业
    第六周作业
    2019年春季第五周
    2019年春季学期第四周作业
    2019年春季学期第三周作业
    2019年春季学期第二周作业
  • 原文地址:https://www.cnblogs.com/wxsj/p/8391852.html
Copyright © 2011-2022 走看看