当前位置:  开发笔记 > 后端 > 正文

数据对象存储 - 表JOIN可以做单表SELECT不能吗?

如何解决《数据对象存储-表JOIN可以做单表SELECT不能吗?》经验,为你挑选了0个好方法。

现在,像MongoDB或memcached这样的"NOSQL"或"仅对象"存储系统在世界上真正起步.我想知道是否有任何无法对它们执行的请求可以使用多个对象连接执行(在SQL中JOIN "table").换句话说,是否有连续几个单表查询无法处理的多表查询?

基本上,是否存在一个用例,通过在基于对象的存储系统中一次访问一个表,无法复制多表连接?

以下是使用has_man和has_many_through关系的常规3NF查询的一些示例.这些不是最复杂的查询 - 但它们应该为您提供概念的起点.请注意,{}中的任何值表示上次查询结果的值.


公司有很多用户

SELECT user.*, company.name as company_name FROM user 
LEFT JOIN company ON company.id = user.company_id
WHERE user.id = 4

VS

SELECT * FROM user WHERE id = 4
SELECT * FROM company WHERE id = {user.comany_id}

俱乐部有许多学生通过会员资格

SELECT student.* FROM student LEFT JOIN membership on
membership.student_id = sudent.id WHERE membership.club_id = 5

VS

SELECT * FROM membership WHERE club.id = 5
SELECT * FROM student WHERE id = {membership.student_id}

我想知道的原因是因为我想知道基于对象的系统(依赖于一次访问单个表对象)是否可以执行像PostgreSQL或MySQL这样的RDBMS数据库.

到目前为止,唯一错误似乎是需要更多查询.

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有