以有序的方式从多个表中选择所有表,而不重复行

时间:2015-12-23 22:12:52

标签: php mysql

我一直在寻找这个,但我找不到我需要的东西。我正在创建一个管理页面,我需要从php界面访问db值。

我需要从许多表中获取所有行。首先我尝试了:

SELECT * FROM t1, t2, t3, t4

但那次重复行很多次,有些奇怪......第一个表有8行,第二个有8行,第三个有7行和第四行1.共有24行,但如果我执行那个查询我得到448行......为什么?

让我们说我有4个表,我想在一个查询中获取所有数据,按照我将表放在查询中但不重复的顺序获取列...没有条件,只需获取所有数据,如果我进行4次查询:

SELECT * FROM t1
SELECT * FROM t2
SELECT * FROM t3
SELECT * FROM t4

如果我这样做,没有数据重复......为什么?

我如何合并这4个查询但仍然得到相同的结果? (没有重复的数据)

1 个答案:

答案 0 :(得分:-1)

像我在评论中说的那样;您正在执行cross join。别这么做!

但一般来说,如果要排除重复项,可以SELECT DISTINCT ...