unc*_*der 26 sql sql-server oracle
假设我有一个值列表,例如1, 2, 3, 4, 5和某些列中存在某些值的表.这是一个例子:
id name
1 Alice
3 Cindy
5 Elmore
6 Felix
Run Code Online (Sandbox Code Playgroud)
我想创建一个SELECT语句,其中包含列表中的所有值以及与这些值匹配的行中的信息,即LEFT OUTER JOIN在我的列表和表之间执行,因此结果如下所示:
id name
1 Alice
2 (null)
3 Cindy
4 (null)
5 Elmore
Run Code Online (Sandbox Code Playgroud)
如何在不创建临时表或使用多个UNION运算符的情况下执行此操作?
Cha*_*ana 48
如果在Microsoft SQL Server 2008或更高版本中,则可以使用表值构造函数
Select v.valueId, m.name
From (values (1), (2), (3), (4), (5)) v(valueId)
left Join otherTable m
on m.id = v.valueId
Run Code Online (Sandbox Code Playgroud)
不知道Oracle是否有类似的构造
| 归档时间: |
|
| 查看次数: |
37050 次 |
| 最近记录: |