关于 SequoiaDB
快速入门
安装
基本操作
数据模型
SQL引擎
S3引擎
系统架构
数据库管理
连接器
驱动
参考手册
故障排除
SAC 管控中心
Web服务
版本信息
right outer join 会从右边的集合名(collection2_name)中返回所有的记录,即使在左边的集合名(collection1_name)中没有匹配的记录。
<collection1_name | (select_set1)> as <alias1_name> right outer join <collection2_name | (select_set2)> as <alias2_name> [on condition]
| 参数名 | 参数类型 | 描述 | 是否必填 |
|---|---|---|---|
| collection1_name/collection2_name | string | 集合名。 | 是 |
| select_set1/select_set2 | set | 结果集。 | 是 |
| alias1_name/alias2_name | string | 别名。 | 是 |
| condition | expression | 集合之间关联条件。 | 否 |
right outer join 会从右边的集合(collection2_name)那里返回所有的记录,即使在左边的集合(collection1_name)中没有匹配的记录。
集合 foo.persons 中记录如下:
{ "Id_P": 1, "LastName": "Adams", "FirstName": "John", "Address": "Oxford Street", "City": "London" }
{ "Id_P": 2, "LastName": "Bush", "FirstName": "George", "Address": "Fifth Avenue", "City": "New York" }
{ "Id_P": 3, "LastName": "Carter", "FirstName": "Thomas", "Address": "Changan Street", "City": "Beijing" }集合 foo.orders 中记录如下:
{ "Id_O": 1, "OrderNo": 77895, "Id_P": 3 }
{ "Id_O": 2, "OrderNo": 44678, "Id_P": 3 }
{ "Id_O": 3, "OrderNo": 22456, "Id_P": 1 }
{ "Id_O": 4, "OrderNo": 24562, "Id_P": 1 }
{ "Id_O": 5, "OrderNo": 34764, "Id_P": 65 }列出所有的订单对于的客户, 如果该订单没有对于的客户,则用null替代。
> db.exec("select t1.LastName, t1.FirstName, t2.OrderNo from foo.persons as t1 right outer join foo.orders as t2 on t1.Id_P=t2.Id_P")
{ "LastName": "Carter", "FirstName": "Thomas", "OrderNo": 77895 }
{ "LastName": "Carter", "FirstName": "Thomas", "OrderNo": 44678 }
{ "LastName": "Adams", "FirstName": "John", "OrderNo": 22456 }
{ "LastName": "Adams", "FirstName": "John", "OrderNo": 24562 }
{ "LastName": null, "FirstName": null, "OrderNo": 34764 }
Return 5 row(s).
Takes 0.14650s.
展开