想从A,B,C,D表中查询A.id,B.name,C.sex三个字段,需要使用join连接,A.ID = B.ID, B.name = C.name, C.sex = D.sex。
明白的朋友指点一下,我学习学习。谢谢

解决方案 »

  1.   

      外连接:
      除了显示匹配相等连接条件的数据外,还可以显示某一个表中无法匹配相等连接条件的记录!
      ------------------------------------------------
      1) 左条件(+) = 右条件
         左条件所在的表必须严格进行相等连接条件的匹配,而右条件所在的表除了匹配相等连接条件外,还可以显示无法匹配连接条件的数据!
         也称为右外连接.
         --------------------------------
         可以用下列语句取代:
         SELECT...FROM 表1 RIGHT OUTER JOIN 表2 ON 条件;
      2) 左条件 = 右条件(+)
         右条件所在的表必须严格进行相等连接条件的匹配,而左条件所在的表除了匹配相等连接条件外,还可以显示无法匹配连接条件的数据!
         也称为左外连接.
         --------------------------------
         可以用下列语句取代:
         SELECT...FROM 表1 LEFT OUTER JOIN 表2 ON 条件;
    REM 除了相等连接之外,显示没有员工的部门信息.
    SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO(+) = DEPT.DEPTNO;
    SELECT * FROM EMP RIGHT OUTER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO;
    REM 除了相等连接之外,显示没有部门的员工信息.
    SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO(+);
    SELECT * FROM EMP LEFT OUTER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO;
      

  2.   

    谢谢1楼,两个表join的这个我知道,多个表join的不明白。
      

  3.   

    多个和2个不是一样的吗?
    SELECT 
      FROM A 
      LEFT OUTER JOIN B
                 ON .....
      LEFT OUTER JOIN C
                 ON .....
      LEFT OUTER JOIN D
                 ON .....
      ...................