ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 交叉关联

交叉关联

原创 Linux操作系统 作者:love2008 时间:2009-07-29 08:20:38 0 删除 编辑

如果有人让你实现笛卡儿积的时候,也许很多人都会想到如下这种做法。

WANGZK>select * from table_one;

   COL_ONE COL_TWO
---------- ----------
         1 one
         2 two
         5 five

WANGZK>select * from table_two;

 COL_THREE COL_FOUR
---------- ----------
        10 ten
        20 twenty
         5 five

WANGZK>select * from table_one,table_two;

   COL_ONE COL_TWO     COL_THREE COL_FOUR
---------- ---------- ---------- ----------
         1 one                10 ten
         1 one                20 twenty
         1 one                 5 five
         2 two                10 ten
         2 two                20 twenty
         2 two                 5 five
         5 five               10 ten
         5 five               20 twenty
         5 five                5 five

已选择9行。

那我在描述一个另外的方法,那就是交叉关联。

WANGZK>select * from table_one cross join table_two;

   COL_ONE COL_TWO     COL_THREE COL_FOUR
---------- ---------- ---------- ----------
         1 one                10 ten
         1 one                20 twenty
         1 one                 5 five
         2 two                10 ten
         2 two                20 twenty
         2 two                 5 five
         5 five               10 ten
         5 five               20 twenty
         5 five                5 five

已选择9行。

WANGZK>select * from table_one a cross join table_two b on a.col_one = b.col_three;
select * from table_one a cross join table_two b on a.col_one = b.col_three
                                                 *
第 1 行出现错误:
ORA-00933: SQL 命令未正确结束

交叉关联不允许有ON子句。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/728254/viewspace-610682/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-10

  • 博文量
    78
  • 访问量
    1113896