Shr*_*pta 3 mysql sql database
我有两张桌子: - 表a,表b.
表a
- -ID - -
1
2
3
4
5
7
Run Code Online (Sandbox Code Playgroud)
表b
- -ID - -
2
3
4
5
6
Run Code Online (Sandbox Code Playgroud)
没有UNION命令,我必须得到像这样的输出: -
- - ID - - -
1
2
3
4
5
6
7
Run Code Online (Sandbox Code Playgroud)
注意:我有一个联合解决方案: -
**select * from a
UNION
select * from b;**
Run Code Online (Sandbox Code Playgroud)
我需要替代它.请专家建议.
我们需要另一个包含(至少)2行的表:
CREATE TABLE d
( id INT NOT NULL
);
INSERT INTO d
(id)
VALUES
(0), (1) ;
Run Code Online (Sandbox Code Playgroud)
然后,如果我们想要只有一个查询,我们可以使用(这是为了好玩,不要在生产中使用,这就是为什么我们有UNION):
SELECT DISTINCT
COALESCE(aa.id, bb.id) AS id
FROM
d
LEFT JOIN a AS aa ON d.id = 0
LEFT JOIN b AS bb ON d.id = 1
WHERE
COALESCE(aa.id, bb.id) IS NOT NULL
ORDER BY
id ;
Run Code Online (Sandbox Code Playgroud)
在SQLfiddle.com上测试,以及其他表组合:
1行 - 1行
2行 - 2行
0行 - 1行
0行 - 2行
0行 - 0行
| 归档时间: |
|
| 查看次数: |
6128 次 |
| 最近记录: |