从具有相同列的两个表中选择

时间:2017-03-22 15:43:33

标签: php mysql sql

我必须有表格,每个表格有4列(id,name,games,points)。两个表中的列名相同。我想从一个大表中的两个列中选择所有内容(例如,如果在足球中,您在一个表中加入了MLS和英超联赛)。 我试过这段代码:

SELECT * FROM league1 JOIN league 2;

但它不是我想要的输出。 我可以看到我的表格并没有完全相同:

CREATE TABLE `league1` (
 `id` int(11) DEFAULT NULL,
 `Navn` varchar(50) COLLATE utf8_danish_ci NOT NULL,
 `kampe` int(11) DEFAULT NULL,
 `Point` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci ROW_FORMAT=DYNAMIC

CREATE TABLE `league2` (
 `id` int(11) DEFAULT NULL,
 `Navn` varchar(50) DEFAULT NULL,
 `kampe` int(11) DEFAULT NULL,
 `Point` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8

是不是可以在同一列下加入它们,所以我仍然有4列,但两个表中的所有行都是?

2 个答案:

答案 0 :(得分:1)

使用union all保留重复项。如果字段数不同,您可以在两个表上声明字段匹配而不是*

  SELECT * FROM league1 
  UNION ALL
  SELECT * FROM league2

答案 1 :(得分:1)

您不想加入,但要联合两个表格的内容

SELECT  *
FROM    league1 
UNION ALL
SELECT  *
FROM    league2;