日期:2014-05-16  浏览次数:20396 次

oracle三张表左连接

三张表,要查询出结果是:第一张表全显示,其余两张表显示对应连接的信息

三张表分别是

SQL> select * from zr_stu;
 
      STUID STUNAME              STUSEX
----------- -------------------- ------
          1 付政委               男
          2 江风                 男
          3 郝忠军               男
 
SQL> select * from zr_couse;
 
    COUSEID COUSENAME            COUSETYPE
----------- -------------------- ---------
          1 Java编程             必修
          2 数据库技术           必修
          3 毛概                 选修
 
SQL> select * from zr_score;
 
    SCOREID       STUID     COUSEID    SCORE
----------- ----------- ----------- --------
          1           1           1    98.00
          2           1           2    85.00
          3           2           1    92.00


查询要的结果

SQL> select z1.stuname,z2.score,z3.cousename from zr_stu z1,zr_score z2,zr_couse z3 where z1.stuid = z2.stuid(+) and z3.couseid(+) = z2.couseid;
 
STUNAME                 SCORE COUSENAME
-------------------- -------- --------------------
付政委                  98.00 Java编程
付政委                  85.00 数据库技术
江风                    92.00 Java编程
郝忠军