mysql联合的2个表

时间:2014-11-04 07:49:18

标签: mysql database mysqli union

地狱之友,

我有2个表:表A(id,user_id,flag)和表B(id,user_id,flag)

这里如果我拿表A的数量,那就是10和B 5的数量

总数= 10 + 5 = 15。

SELECT * FROM table A
LEFT JOIN table B ON table B.user_id = table A.user_id
UNION ALL
SELECT * FROM table A
RIGHT JOIN table B ON table B.user_id = table A.user_id

所以它应该是15而不是它显示50。

2 个答案:

答案 0 :(得分:1)

使用

SELECT * FROM TABLE1 UNION 
SELECT * FROM TABLE2

UNION删除了另一只手中的重复记录UNION ALL没有。检查HERE

答案 1 :(得分:1)

您需要确保表中的数据正确。

表A应该有15行

from sklearn.model_selection import cross_val_score
scores = cross_val_score(MyLinearRegression(), X_train, y_train, cv=10, scoring='neg_mean_squared_error')
scores

表B应该有5行

SELECT COUNT(*) as 'rowCountTableA' FROM table_a;

如果表是正确的并且具有完全匹配的列名,则可以通过指定星号以获取所有列值来将它们连接在一起。

但是,如果表中的列在table_a中有一些不同的列名,而table_b中没有,则必须调出列名,而不要使用星号来获取所有值。

示例:

SELECT COUNT(*) as 'rowCountTableB' FROM table_b;