三条sql语句

根据这三个语句反推其中包含的表结构:

select "gate_records"."gate_id" ,sum(gate_records.volume) as volume from "gate_records" where "gate_records"."deleted_at" is null and gate_id in(
    select id from "gates" where "gates"."deleted_at" is null and "gates"."setup_land_region_id" in (
        select id from "land_regions" where "land_regions"."deleted_at" is null and "land_regions"."parent_id" = 2
    )
) group by "gate_records"."gate_id";

select id, name, lat_long
from "gates"
where "gates"."deleted_at" is null
  and "gates"."setup_land_region_id" in (select id
                                         from "land_regions"
                                         where "land_regions"."deleted_at" is null
                                           and "land_regions"."parent_id" = 2);

select gate_records.gate_id, sum(gate_records.volume) as volume, gates.name as name, gates.lat_long as lat_long
from gate_records
         join gates on gate_records.gate_id = gates.id
where gate_records.deleted_at is null
  and gates.deleted_at is null
  and gate_id in (select id
                  from "gates"
                  where "gates"."deleted_at" is null
                    and "gates"."setup_land_region_id" in (select id
                                                           from "land_regions"
                                                           where "land_regions"."deleted_at" is null
                                                             and "land_regions"."parent_id" = 2))
group by gate_records.gate_id, gates.name, gates.lat_long;

这三个语句涉及了三个表:gate_records、gates 和 land_regions。

gate_records表包含字段:
gate_id
volume
deleted_at

gates表包含字段:
id
name
lat_long
deleted_at
setup_land_region_id

land_regions表包含字段:
id
parent_id
deleted_at

第一个查询是关于gate_records表和与其相关联的gates和land_regions表的聚合查询。它选择了gate_records表中的gate_id和volume字段,并对volume字段进行了求和。条件是gate_records表中deleted_at为空,并且gate_id存在于满足一定条件的gates表中。该条件是gates表中deleted_at为空,并且setup_land_region_id存在于满足一定条件的land_regions表中(这些条件包括deleted_at为空并且parent_id为2)。

第二个查询选择了gates表中的id、name和lat_long字段,条件是gates表中deleted_at为空,并且setup_land_region_id存在于满足一定条件的land_regions表中(这些条件包括deleted_at为空并且parent_id为2)。

第三个查询是一个联合查询,涉及gate_records和gates表。它选择了gate_records表中的gate_id和volume字段的求和,并将gates表中的name和lat_long字段也加入了结果集。条件包括了gate_records和gates表中的deleted_at为空,并且gate_id存在于满足一定条件的gates表中。这些条件类似于前两个查询中的条件,都是关于gates表中deleted_at为空,并且setup_land_region_id存在于满足一定条件的land_regions表中(这些条件包括deleted_at为空并且parent_id为2)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SQL语言基础 本章,我们将会重点探讨SQL语言基础,学习用SQL进行数据库的基本数据查询操作。另外请注意本章的S...
    厲铆兄阅读 5,360评论 2 46
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,452评论 0 10
  • 前言 自己在工作中经常会写sql语句,用的多了就想总结一下以便以后需要用到时候查看。同时也希望对大家有用~ // ...
    小新哥的大梦想阅读 1,243评论 1 3
  • 语 句 功 能 数据操作 SELECT——从数据库表中检索数据行和列INSERT——向数据库表添加新数据行DELE...
    戰敭阅读 5,123评论 0 53
  • 一、iBATIS介绍 iBATIS的是一个持久层框架,它能够自动在Java, .NET, 和Ruby on Rai...
    子非鱼_t_阅读 1,857评论 0 2