我一直在找这个,但没有找到我需要的。我正在创建一个管理页面,我需要从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个查询,但仍然得到相同的结果?(无重复数据)
就像我在评论中说的那样;您正在执行cross join
。不要那样做!
但一般来说,如果您想排除重复项,可以使用SELECT DISTINCT ...