我可以从多个表中检索没有重复数据或多个查询的数据吗?

亚历克斯·霍尔

假设我有表格companiesemployees,其中后者有一个company_id引用前者字段。我想了解有关具有给定ID的公司以及在那里工作的人员的所有信息。我看到了两种方法,但是都有问题。

我可以通过联接一次性获得所有数据:

SELECT *
FROM companies, employees
WHERE <id> = companies.id
  AND <id> = employees.company_id

但随后,companies表中单行中的所有数据都会在结果的每一行中重复(即对公司的每个员工一次)。可以想象,客户端可以应用某种压缩或巧妙的分析来减少传输的数据量,但我不知道这是否确实完成或效果如何。

我可以使用两个查询:

SELECT *
FROM companies
WHERE <id> = companies.id

SELECT *
FROM employees
WHERE <id> = employees.company_id

但是必须两次访问数据库会增加延迟。

有没有办法解决这些效率低下的问题?我正在使用PostgreSQL,Slick(Scala)和Play。JDBC是否避免重复数据?

帕特里克

可能最简单的方法是将所有员工数据聚合到一个数组或一个json值中,该值或值将附加到公司的列中。对于jsonb

SELECT c.*, e.employee_data
FROM companies c
JOIN (
  SELECT company_id, jsonb_agg(to_jsonb(employees)) AS employee_data
  FROM employees
  GROUP BY company_id) e ON e.company_id = c.id
WHERE <id> = companies.id;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

BigQuery:我可以通过将数据存储在多个表中来降低查询成本吗?

来自分类Dev

保存没有重复数据的多个数据 sqlite sqlachemy flask

来自分类Dev

从LINQ to SQL查询的多个表中检索数据

来自分类Dev

在C#中从多个表上的查询检索数据

来自分类Dev

SQL Server查询从具有多个条件的两个表中检索数据

来自分类Dev

我可以在没有for循环的情况下将函数应用于Pandas数据框中的多个列吗?

来自分类Dev

Django从多个表中检索数据而没有外键关系

来自分类Dev

数据库表上可以有多个索引吗?

来自分类Dev

从phpmyadmin中的多个表中检索数据

来自分类Dev

我可以拥有多个数据规则属性吗?

来自分类Dev

根据ID从多个表中检索数据

来自分类Dev

SQL Server从多个表中检索数据

来自分类Dev

SQL查询问题:并非从mysql数据库中的多个表中检索到所有记录

来自分类Dev

在熊猫中旋转具有重复数据的表

来自分类Dev

我可以从丢失的分区中恢复数据吗?

来自分类Dev

具有多个子查询和行“标题”的 SQL Server 2012 动态数据透视表 - 可以这样做吗?

来自分类Dev

如何在laravel eloquent中检索具有多个条件的多个表数据?

来自分类Dev

如何从EF中的多个表查询数据?

来自分类Dev

SQLite查询以从多个表中获取数据

来自分类Dev

查询从多个表中获取数据MySQL

来自分类Dev

将多个 Excel 文件合并到一张 Excel 工作表中,无需复制公式和重复数据

来自分类Dev

我们可以使用mysql中的字符串函数从单个查询中提取多个数据吗?

来自分类Dev

在laravel的数据库查询构建器中,有没有一种方法可以检索数据库表中的单行列

来自分类Dev

如何使用php从具有多个表的mysql数据库中检索大量数据

来自分类Dev

我想从多个表中检索数据以服务付款人到我的项目中

来自分类Dev

MySQL-从多个表中选择而不产生重复数据

来自分类Dev

来自多个表的SQL SELECT列,而无需重复数据

来自分类Dev

MySQL查询多个表数据

来自分类Dev

从多个具有相同字段的表中检索数据在mysql中

Related 相关文章

  1. 1

    BigQuery:我可以通过将数据存储在多个表中来降低查询成本吗?

  2. 2

    保存没有重复数据的多个数据 sqlite sqlachemy flask

  3. 3

    从LINQ to SQL查询的多个表中检索数据

  4. 4

    在C#中从多个表上的查询检索数据

  5. 5

    SQL Server查询从具有多个条件的两个表中检索数据

  6. 6

    我可以在没有for循环的情况下将函数应用于Pandas数据框中的多个列吗?

  7. 7

    Django从多个表中检索数据而没有外键关系

  8. 8

    数据库表上可以有多个索引吗?

  9. 9

    从phpmyadmin中的多个表中检索数据

  10. 10

    我可以拥有多个数据规则属性吗?

  11. 11

    根据ID从多个表中检索数据

  12. 12

    SQL Server从多个表中检索数据

  13. 13

    SQL查询问题:并非从mysql数据库中的多个表中检索到所有记录

  14. 14

    在熊猫中旋转具有重复数据的表

  15. 15

    我可以从丢失的分区中恢复数据吗?

  16. 16

    具有多个子查询和行“标题”的 SQL Server 2012 动态数据透视表 - 可以这样做吗?

  17. 17

    如何在laravel eloquent中检索具有多个条件的多个表数据?

  18. 18

    如何从EF中的多个表查询数据?

  19. 19

    SQLite查询以从多个表中获取数据

  20. 20

    查询从多个表中获取数据MySQL

  21. 21

    将多个 Excel 文件合并到一张 Excel 工作表中,无需复制公式和重复数据

  22. 22

    我们可以使用mysql中的字符串函数从单个查询中提取多个数据吗?

  23. 23

    在laravel的数据库查询构建器中,有没有一种方法可以检索数据库表中的单行列

  24. 24

    如何使用php从具有多个表的mysql数据库中检索大量数据

  25. 25

    我想从多个表中检索数据以服务付款人到我的项目中

  26. 26

    MySQL-从多个表中选择而不产生重复数据

  27. 27

    来自多个表的SQL SELECT列,而无需重复数据

  28. 28

    MySQL查询多个表数据

  29. 29

    从多个具有相同字段的表中检索数据在mysql中

热门标签

归档