心的方向

          新的征途......
          posts - 75,comments - 19,trackbacks - 0
          inner join&left outer join&right outer join
          left outer join === left join
          rirht outer join === right join
          full outer join === full join
          inner join? === A = B
          ?
          no full inner join
          no left inner join
          no right inner join
          ?
          they are the same as the "inner join"
          ?
          ?
          ?
          ?
          Join types

          By default, a join is assumed to be an inner join. You can also request other types of joins by clicking Join Type on the Joins page of SQL Assist. The following types of joins are available:

          • Inner join
          • Left outer join
          • Right outer join
          • Full outer join

          7 An inner join is join method in which 7 a column that is not common to all of the tables being joined is dropped from 7 the resultant table. If your database supports the OUTER JOIN keywords, you 7 can extend the inner join to add rows from one table that have no matching 7 rows in the other table.

          For example, you want to join two tables to get the last name of the manager for each department. The first table is a Department table that lists the employee number of each department manager. The second table is an Employee table that lists the employee number and last name of each employee. However, some departments do not have a manager; in these cases, the employee number of the department manager is null. To include all departments regardless of whether they have a manager, and the last name of the manager, if one exists, you create a left outer join. The left outer join includes rows in the first table that match the second table or are null. The resulting SQL statement is as follows:

          SELECT DEPTNO, DEPTNAME, EMPNO, LASTNAME
             FROM DEPARTMENT LEFT OUTER JOIN EMPLOYEE
                ON MGRNO = EMPNO 

          A right outer join is the same as a left outer join, except that it includes rows in the second table that match the first table or are null. A full outer join includes matching rows and null rows from both tables.

          For example, you have two tables, Table 1 and Table 2, with the following data:

          Table 1. Table 1
          Column A Column B
          1 A
          2 B
          3 C
          Table 2. Table 2
          Column C Column D
          2 X
          4 2

          You specify a join condition of Column A = Column C. The result tables for the different types of joins are as follows:

          Inner join
          Table 3. Inner join result table
          Column A Column B Column C Column D
          2 B 2 X
          Left outer join
          Table 4. Left outer join result table
          Column A Column B Column C Column D
          1 A null null
          2 B 2 X
          3 C null null
          Right outer join
          Table 5. Right outer join result table
          Column A Column B Column C Column D
          2 B 2 X
          null null 4 2
          Full outer join
          Table 6. Full outer join result table
          Column A Column B Column C Column D
          1 A null null
          2 B 2 X
          3 C null null
          null null 4 2

          If you specify value (a,c), you obtain the following result:

          Table 7. Result of value (a,c)
          Value (a,c)
          1
          2
          3
          4
          Related concepts

          文章來源:http://21958978.spaces.live.com/Blog/cns!A7DF246804AD47BB!197.entry
          posted on 2007-03-31 10:49 阿偉 閱讀(1142) 評論(0)  編輯  收藏 所屬分類: DateBase
          主站蜘蛛池模板: 平南县| 滦平县| 明星| 嫩江县| 海盐县| 砚山县| 玉田县| 慈溪市| 全州县| 瑞丽市| 吴忠市| 凤冈县| 南溪县| 加查县| 陆川县| 华安县| 朝阳区| 财经| 揭东县| 绥化市| 丹寨县| 定陶县| 城市| 龙川县| 深州市| 雅江县| 鹤岗市| 萨嘎县| 五莲县| 铁力市| 南丰县| 和田市| 黔西| 郧西县| 武威市| 博客| 滦南县| 屏东市| 文水县| 房产| 西乡县|