我有两个Select查询,可以获得具有相同列名的两个表的结果。
SELECT
labels.langjrd,
labels.id,
labels.lcphrase
FROM
labels
WHERE
labels.langjrd LIKE 'FRE%'
;
和
SELECT
labels.langjrd,
labels.id,
labels.lcphrase
FROM
labels
WHERE
labels.langjrd LIKE 'ENG%'
;
当我运行查询时,我想将所有结果放入一个表中。我读到了关于联合查询但是当我尝试它时,它没有用。我不想覆盖所有重复数据,我只想将第二个选择结果添加到第一个选择结果的底部。
答案 0 :(得分:11)
使用UNION ALL
,您可以合并两个查询的结果,如下所示:
SELECT
labels.langjrd,labels.id,labels.lcphrase
FROM
labels
WHERE
labels.langjrd LIKE 'FRE%'
UNION ALL
SELECT
labels.langjrd,labels.id,labels.lcphrase
FROM
labels
WHERE
labels.langjrd LIKE 'ENG%';
您了解UNION
执行类似操作的内容,但会过滤掉重复的结果。所以它与UNION ALL
类似,但不一样。
但是,由于您实际上是在查询同一个表中的完全相同的列,因此您可以将这两个条件放在where
子句中并使用or
拆分它们。这样,您将获得符合任一条件的所有记录。
SELECT
labels.langjrd,labels.id,labels.lcphrase
FROM
labels
WHERE
labels.langjrd LIKE 'FRE%' OR
labels.langjrd LIKE 'ENG%';