心的方向

          新的征途......
          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 阿偉 閱讀(1147) 評論(0)  編輯  收藏 所屬分類: DateBase
          主站蜘蛛池模板: 泊头市| 和顺县| 高淳县| 汤阴县| 南木林县| 潜江市| 南皮县| 周口市| 正镶白旗| 枝江市| 安龙县| 民丰县| 凤庆县| 隆德县| 平乡县| 永嘉县| 镇宁| 灵山县| 揭东县| 梅河口市| 承德县| 安岳县| 瓦房店市| 什邡市| 滦平县| 福泉市| 孙吴县| 宣化县| 新干县| 化隆| 长宁县| 大兴区| 成武县| 富川| 杨浦区| 延津县| 万州区| 东城区| 留坝县| 吴旗县| 疏勒县|