Mnesia数据库操作与特性详解
1. 从两个表中选择数据(连接查询)
假设我们要重新订购商品,条件是库存少于250件且商品成本低于2个货币单位。这时需要访问两个表,对应的查询如下:
%% SQL equivalent
%%
SELECT shop.item, shop.quantity, cost.name, cost.price
%%
FROM shop, cost
%%
WHERE shop.item = cost.name
%%
AND cost.price < 2
%%
AND shop.quantity < 250
demo(join) ->
do(qlc:q([X#shop.item || X <- mnesia:table(shop),
X#shop.quantity < 250,
Y <- mnesia:table(cost),
X#shop.item =:= Y#cost.name,
Y#cost.price < 2
])).
执行示例:
6> test_mnesia:demo(join).
[apple]
这里的关键是 shop 表中的商品名称和
超级会员免费看
订阅专栏 解锁全文
90

被折叠的 条评论
为什么被折叠?



