假设您正在使用两个表 R 和 S 的笛卡尔积,它们都有两个属性 A 和 B,它们也是相同的数据类型。
如果我将它们相乘,结果表会是A B A B
还是A B
以某种方式?
它将获取所有属性,无论它们是否具有相同的名称。对于所有其他JOIN
类型和任何其他表运算符也是如此。所以:
CREATE TABLE R (A int, B INT);
CREATE TABLE S (A int, B INT);
INSERT INTO R VALUES(1, 2), (2, 3);
INSERT INTO S VALUES(1, 2), (2, 2);
SELECT *
FROM R CROSS JOIN S
将为您提供两个表中的所有属性,如下所示:
A B A B
1 2 1 2
2 3 1 2
1 2 2 2
2 3 2 2
但是,您可以限制要在SELECT
语句中选择的属性。类似的东西SELECT T1.A, T2.B
。