例如我有这个:
姓名
ID | NAME
1 | Aiden
2 | Jackson
3 | Ethan
name_old
ID | NAME
1 | Aiden
2 | Liam
3 | Mason
4 | Noah
5 | Ethan
我想得到:
结果
NAME
Aiden
Jackson
Ethan
Liam
Mason
Noah
我无法弄清楚什么查询可以完成这项工作。我猜想以某种方式合并而不是按结果分组?
尝试这个
声明@name table(id int identity(1,1),name varchar(50)) 插入@name 选择“艾登” 插入@name 选择“杰克逊” 插入@name 选择'ethan' 插入@name 选择“斯蒂芬” 声明@name_old 表(id int identity(1,1),name varchar(50)) 插入@name_old 选择“艾登” 插入@name_old 选择“杰克逊” 插入@name_old 选择'ethan' 插入@name_old 选择“梅森” 插入@name_old 选择“诺亚” 插入@name_old 选择'ethan' 从中选择不同的 t.name ( 从@name 中选择名称 联盟 从@name_old 中选择名称 ) 作为 t
使用右外连接
RIGHT JOIN 关键字返回右表 (table2) 中的所有行,以及左表 (table1) 中的匹配行。当没有匹配时,左侧的结果为 NULL。
SELECT NAME
FROM name
RIGHT JOIN name_old
ON name.NAME=name_old.NAME;