Mysql 将两个具有相同属性名称的表相乘时会发生什么情况?
假设取两个表的笛卡尔积,R和S,它们都有两个属性,A和B,它们也是相同的数据类型Mysql 将两个具有相同属性名称的表相乘时会发生什么情况?,mysql,sql,Mysql,Sql,假设取两个表的笛卡尔积,R和S,它们都有两个属性,A和B,它们也是相同的数据类型 如果我将它们相乘,结果表会是abaab还是abb?它会得到所有属性,不管它们是否同名。对于所有其他的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)
如果我将它们相乘,结果表会是
abaab
还是abb
?它会得到所有属性,不管它们是否同名。对于所有其他的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
语句中限制要选择的属性。类似于选择T1.A,T2.B
为什么不自己试试呢