DB2 9基础知识

时间:2013-09-22 06:40:03

标签: db2

鉴于以下两个表:

NAMES

NAME          NUMBER
----------    -------
Wayne Gretzky 99
Jaromir Jagr  68
Bobby Orr      4
Bobby Hull    23
Mario Lemieux 66

POINTS
-----------------------------
NAME           POINTS
----------     ------
Wayne Gretzky  244
Bobby Orr      129
Brett Hull     121
Mario Lemieux  189
Joe Sakic       94

使用以下语句将返回多少行? SELECT name FROM names,points

有人可以解释为什么答案是25? 提前感谢您提供的任何帮助

2 个答案:

答案 0 :(得分:1)

我想这条指令相当于标准SQL中的交叉连接。因此,返回的记录数是名称中的5条记录*点数为25的5条记录。

答案 1 :(得分:0)

也称为“笛卡尔积”

“Cartesian产品,也称为交叉连接,返回查询中列出的所有表中的所有行。第一个表中的每一行都与第二个表中的所有行配对。这发生在两个表之间没有定义任何关系。“

来自:

http://www.dba-oracle.com/t_garmany_9_sql_cross_join.htm