19.Oracle数据库SQL开发之 笛卡尔积

来源:互联网 发布:hadoop 2.7.4 windows 编辑:程序博客网 时间:2024/05/21 06:42

19.Oracle数据库SQL开发之 笛卡尔积

         欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/49107213

如果在多表查询中不指定连接条件,就会导致将一个表中的所有行都连接到另外一个表中的所有行上。称为笛卡尔积。如果第一个表包含50行,第二个表包含100行,那么将返回5000行。

例如:

SQL>select pt.product_type_id,p.product_id from product_types pt,products p;

PRODUCT_TYPE_IDPRODUCT_ID

--------------- ----------

               1           1

               1           2

               1           3

               1           4

               1           5

               1           6

               1           7

               1           8

               1           9

               1          10

               1          11

 

PRODUCT_TYPE_IDPRODUCT_ID

--------------- ----------

               1          12

               2           1

               2           2

               2           3

               2           4

               2           5

               2           6

               2           7

               2           8

               2           9

               2          10

 

PRODUCT_TYPE_IDPRODUCT_ID

--------------- ----------

               2          11

               2          12

               3           1

               3           2

               3           3

               3           4

               3           5

               3           6

               3           7

               3           8

               3           9

 

PRODUCT_TYPE_IDPRODUCT_ID

--------------- ----------

               3          10

               3          11

               3          12

               4           1

               4           2

               4           3

               4           4

               4           5

               4           6

               4           7

               4           8

 

PRODUCT_TYPE_IDPRODUCT_ID

--------------- ----------

               4           9

               4          10

               4          11

               4          12

               5           1

               5           2

               5           3

               5           4

               5           5

               5           6

               5           7

 

PRODUCT_TYPE_IDPRODUCT_ID

--------------- ----------

               5           8

               5           9

               5          10

               5          11

               5          12

 

60 rows selected.

SQL>select count(*) from products;

  COUNT(*)

----------

         12

SQL>select count(*) from product_types;

  COUNT(*)

----------

          5

12X5=60,共60行。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击