CN110069532A - 数据查询方法、装置、计算机可读存储介质及电子设备 - Google Patents
数据查询方法、装置、计算机可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN110069532A CN110069532A CN201910194970.2A CN201910194970A CN110069532A CN 110069532 A CN110069532 A CN 110069532A CN 201910194970 A CN201910194970 A CN 201910194970A CN 110069532 A CN110069532 A CN 110069532A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- entity
- statement
- sql
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000001914 filtration Methods 0.000 claims description 55
- 238000004364 calculation method Methods 0.000 claims description 27
- 230000002776 aggregation Effects 0.000 claims description 22
- 238000004220 aggregation Methods 0.000 claims description 22
- 238000013507 mapping Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 240000005373 Panax quinquefolius Species 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2425—Iterative querying; Query formulation based on the results of a preceding query
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种数据查询方法、装置、计算机可读存储介质及电子设备。所述方法包括:根据接收到的数据集选择指令,确定数据集实体,其中,所述数据集实体中至少包括第一查询字段和第一数据源,所述第一数据源对应于数据表;根据接收到的查询选择指令,确定查询实体,其中,所述查询实体中至少包括第二查询字段和第二数据源,所述第二数据源对应于所述数据集实体;根据所述数据集实体和所述查询实体生成sql查询语句;根据所述sql查询语句查询与所述数据集实体对应的数据表,获得查询结果。因此,可以有效降低数据查询操作对用户的高要求,提高方法的适用性和使用范围,提升用户使用体验。
Description
技术领域
本公开涉及数据处理领域,具体地,涉及一种数据查询方法、装置、计算机可读存储介质及电子设备。
背景技术
数据库中存储有各种各样的数据表,用户通过需要访问数据库以获取其所需的数据。现有技术中,通常需要用户输入数据库查询语句(即,sql语句),以从数据库中查询数据。然而,这对用户的专业要求较高,并且不同数据库类型对应的查询语句之间存在差别,更加增加了用户使用的难度。
发明内容
为了解决上述问题,本公开的目的是提供一种简洁且便于用户使用的数据查询方法、装置、计算机可读存储介质及电子设备。
为了实现上述目的,根据本公开的第一方面,提供一种数据查询方法,所述方法包括:
根据接收到的数据集选择指令,确定数据集实体,其中,所述数据集实体中至少包括第一查询字段和第一数据源,所述第一数据源对应于数据表;
根据接收到的查询选择指令,确定查询实体,其中,所述查询实体中至少包括第二查询字段和第二数据源,所述第二数据源对应于所述数据集实体;
根据所述数据集实体和所述查询实体生成sql查询语句;
根据所述sql查询语句查询与所述数据集实体对应的数据表,获得查询结果。
可选地,所述方法还包括:
根据接收到的第一过滤指令,确定第一过滤条件,并将所述第一过滤条件添加至所述数据集实体;
和/或
根据接收到的第二过滤指令,确定第二过滤条件,并将所述第二过滤条件添加至所述查询实体。
可选地,所述根据所述数据集实体和所述查询实体生成sql查询语句,包括:
确定所述数据集实体对应的数据库类型;
分别确定所述数据集实体和所述查询实体对应的sql语句;
根据所述数据库类型对应的sql语法对所述sql语句进行拼接,获得所述sql查询语句。
可选地,所述分别确定所述数据集实体和所述查询实体对应的sql语句,包括:
根据预设的sql映射关系,分别确定所述数据集实体和所述查询实体对应的sql语句,其中,所述预设的sql映射关系包括:
查询字段对应select语句;
数据源对应from语句;
过滤条件对应where语句或having语句,若所述过滤条件对应的表达式中包含聚合计算,所述过滤条件对应having语句;若所述过滤条件对应的表达式中不包含聚合计算,所述过滤条件对应where语句。
可选地,所述预设的sql映射关系还包括:
在所述查询字段为多个时,若一部分所述查询字段对应于聚合计算,则除对应于聚合计算的该部分查询字段外的其他查询字段还对应group by语句。
可选地,所述根据预设的sql映射关系,确定所述数据集实体和所述查询实体对应的sql语句,包括:
当所述第一数据源对应的数据表为一个时,则将所述数据表的数据表名作为表引用,生成所述第一数据源对应的from语句;
当所述第一数据源对应的数据表为多个时,若多个数据表之间全部关联且不存在环状关联时,将各个所述数据表通过join语句进行关联作为表引用,生成所述第一数据源对应的from语句;
对所述第二数据源对应的所述数据集实体调用生成子查询,将所述数据集实体的实体名作为表引用,生成所述第二数据源对应的from语句。
可选地,所述将各个所述数据表通过join语句进行关联作为表引用,包括:
从关联关系列表中取出一个关联关系,其中,所述关联关系列表中包括所述第一数据源对应的数据表之间的关联关系;
若哈希表为空,将所述关联关系的左数据表的引用作为join语句的左侧表引用,将所述关联关系的右数据表的引用作为所述join语句的右侧表引用,其中,所述左数据表为所述关联关系中等号左边的数据表,所述右数据表为所述关联关系中等号右边的数据表,所述哈希表用于存储数据表,所述哈希表初始为空,所述当前表引用初始为空;
在所述哈希表不为空时,
若所述哈希表中存在所述关联关系中的左数据表,将当前表引用作为join语句的左侧表引用,若所述哈希表中不存在所述关联关系中的左数据表,将所述左数据表的引用确定为join语句的左侧表引用;
若所述哈希表中存在所述关联关系中的右数据表,将当前表引用作为join语句的右侧表引用,若所述哈希表中不存在所述关联关系中的右数据表,将所述右数据表的引用确定为join语句的右侧表引用;
根据所述关联关系对应的关联字段生成sql断言;
根据确定出的join语句的左侧表引用和右侧表引用、所述sql断言确定新的当前表引用,将所述关联关系的左数据表和所述右数据表添加至所述哈希表中,并返回所述从关联关系列表中取出一个关联关系的步骤,直至关联关系列表为空。
可选地,所述将各个所述数据表通过join语句进行关联作为表引用,还包括:
若所述哈希表不为空,且所述哈希表中不存在所述关联关系的左数据表和右数据表时,将所述关联关系添加至所述关联关系列表,并返回所述从关联关系列表中取出一个关联关系的步骤。
根据本公开的第二方面,提供一种数据查询装置,所述装置包括:
第一确定模块,用于根据接收到的数据集选择指令,确定数据集实体,其中,所述数据集实体中至少包括第一查询字段和第一数据源,所述第一数据源对应于数据表;
第二确定模块,用于根据接收到的查询选择指令,确定查询实体,其中,所述查询实体中至少包括第二查询字段和第二数据源,所述第二数据源对应于所述数据集实体;
生成模块,用于根据所述数据集实体和所述查询实体生成sql查询语句;
查询模块,用于根据所述sql查询语句查询与所述数据集实体对应的数据表,获得查询结果。
可选地,所述装置还包括:
第一添加模块,用于根据接收到的第一过滤指令,确定第一过滤条件,并将所述第一过滤条件添加至所述数据集实体;
和/或
第二添加模块,用于根据接收到的第二过滤指令,确定第二过滤条件,并将所述第二过滤条件添加至所述查询实体。
可选地,所述生成模块包括:
第一确定子模块,用于确定所述数据集实体对应的数据库类型;
第二确定子模块,用于分别确定所述数据集实体和所述查询实体对应的sql语句;
处理子模块,用于根据所述数据库类型对应的sql语法对所述sql语句进行拼接,获得所述sql查询语句。
可选地,所述第二确定子模块包括第三确定子模块,用于根据预设的sql映射关系,分别确定所述数据集实体和所述查询实体对应的sql语句,其中,所述预设的sql映射关系包括:
查询字段对应select语句;
数据源对应from语句;
过滤条件对应where语句或having语句,若所述过滤条件对应的表达式中包含聚合计算,所述过滤条件对应having语句;若所述过滤条件对应的表达式中不包含聚合计算,所述过滤条件对应where语句。
可选地,所述预设的sql映射关系还包括:
在所述查询字段为多个时,若一部分所述查询字段对应于聚合计算,则除对应于聚合计算的该部分查询字段外的其他查询字段还对应group by语句。
可选地,所述第三确定子模块包括:
第一生成子模块,用于当所述第一数据源对应的数据表为一个时,则将所述数据表的数据表名作为表引用,生成所述第一数据源对应的from语句;
第二生成子模块,用于当所述第一数据源对应的数据表为多个时,若多个数据表之间全部关联且不存在环状关联时,将各个所述数据表通过join语句进行关联作为表引用,生成所述第一数据源对应的from语句;
第三生成子模块,用于对所述第二数据源对应的所述数据集实体调用生成子查询,将所述数据集实体的实体名作为表引用,生成所述第二数据源对应的from语句。
可选地,所述第二生成子模块用于从关联关系列表中取出一个关联关系,其中,所述关联关系列表中包括所述第一数据源对应的数据表之间的关联关系;
若哈希表为空,将所述关联关系的左数据表的引用作为join语句的左侧表引用,将所述关联关系的右数据表的引用作为所述join语句的右侧表引用,其中,所述左数据表为所述关联关系中等号左边的数据表,所述右数据表为所述关联关系中等号右边的数据表,所述哈希表用于存储数据表,所述哈希表初始为空,所述当前表引用初始为空;
在所述哈希表不为空时,
若所述哈希表中存在所述关联关系中的左数据表,将当前表引用作为join语句的左侧表引用,若所述哈希表中不存在所述关联关系中的左数据表,将所述左数据表的引用确定为join语句的左侧表引用;
若所述哈希表中存在所述关联关系中的右数据表,将当前表引用作为join语句的右侧表引用,若所述哈希表中不存在所述关联关系中的右数据表,将所述右数据表的引用确定为join语句的右侧表引用;
根据所述关联关系对应的关联字段生成sql断言;
根据确定出的join语句的左侧表引用和右侧表引用、所述sql断言确定新的当前表引用,将所述关联关系的左数据表和所述右数据表添加至所述哈希表中,并触发所述第二生成子模块从关联关系列表中取出一个关联关系,直至关联关系列表为空。
可选地,所述第二生成子模块还用于若所述哈希表不为空,且所述哈希表中不存在所述关联关系的左数据表和右数据表时,将所述关联关系添加至所述关联关系列表,并触发所述第二生成子模块从关联关系列表中取出一个关联关系。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所述方法的步骤。
根据本公开的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
在上述技术方案中,通过确定数据集实体,可以从数据库中的数据表确定出查询所需的数据表,可以有效降低数据表的数量,提高响应速度。并且,通过生成查询实体,可以对用户的查询操作进行统一且标准化的存储。通过数据集实体和查询实体生成对应的sql查询语句,从而可以在数据表中查询。因此,可以有效降低数据查询操作对用户的高要求,提高方法的适用性和使用范围,提升用户使用体验。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开的一种实施方式提供的数据查询方法的流程图;
图2是根据本公开提供的数据查询方法中,根据数据集实体和查询实体生成sql查询语句的步骤的一种示例性实现方式的流程图;
图3是根据本公开的一种实施方式提供的数据查询装置的框图;
图4是根据一示例性实施例示出的一种电子设备的框图;
图5是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
为了使本领域技术人员更容易理解本发明实施例提供的技术方案,下面首先对一示例性应用场景进行简单介绍。如背景技术所述,当用户访问数据库获取数据时,通常需要用户在数据库中输入数据库查询语句(即,sql语句),以从数据库中获得其所需要的数据。
其中,常用的sql语句如下:
select语句用于从数据表中选取数据,例如,“select列名称Afrom表名称B”,即表示从数据表B中选择A列对应的内容;where子句用于表示从数据表中选取数据的条件;group by语句用于结合聚合计算,根据一个或多个列对结果集进行分组;having子句与聚合计算一起使用,用于针对聚合计算进行条件筛选。以上为常用的sql语句的示例性说明,其他语句在此不再赘述。
示例地,当用户需要从数据库中选择年龄大于35岁的A公司的职员名单时,需要用户输入以下查询命令:
select姓名from公司A
where年龄>35
然而,通过sql语句从数据库中获取数据时对用户的专业性要求较高。上述仅为一简单的查询示例,当用户需要进行更加复杂的查询时,其复杂度会更高,并且不同数据库类型对应的查询语句之间存在差别,更加增加了用户使用的难度。
为了解决上述技术问题,本公开提供一种数据查询方法,可以有效降低数据查询的复杂度,以下结合具体实施例进行详细描述。
图1所示,为根据本公开的一种实施方式提供的数据查询方法的流程图。如图1所示,所述方法包括:
在S11中,根据接收到的数据集选择指令,确定数据集实体,其中,所述数据集实体中至少包括第一查询字段和第一数据源,所述第一数据源对应于数据表。
其中,数据集选择指令可以根据用户操作生成。示例地,可以通过图形显示界面对数据库中的数据表进行显示,从而用户可以在图形显示界面中选择数据表和查询字段,从而触发该数据集选择指令。之后,则可以根据该数据集选择指令,确定数据集实体。
可选地,第一数据源对应的数据表可以是一个或多个。如下,表1所示的数据集实体中第一数据源对应一个数据表,表2所示的数据源实体中第一数据源对应多个数据表。
表1
表2
在S12中,根据接收到的查询选择指令,确定查询实体,其中,所述查询实体中至少包括第二查询字段和第二数据源,所述第二数据源对应于所述数据集实体。
其中,查询选择指令也可以根据用户操作生成。示例地,在确定出数据集实体后,可以通过图形显示界面对数据集实体进行显示,从而用户可以通过图形显示界面选择其需要进行查询的字段,从而触发该查询选择指令。之后,则可以根据该查询选择指令,确定查询实体。
示例地,第二查询字段可以是维度或度量,其中,度量是指字段的取值为数值的字段,例如,“学生分数”字段,其取值可以为80。维度字段是指字段取值为非数值的字段,如“图书类型”字段,其取值可以为小说。
在S13中,根据数据集实体和查询实体生成sql查询语句。
其中,数据集实体指示了用户想要查询的数据表,查询实体指示了用户想要执行的查询操作。sql查询语句为用户访问数据库的标准化sql语句。
在S14中,根据sql查询语句查询与数据集实体对应的数据表,获得查询结果。
示例地,根据生成的sql查询语句可以访问对应的数据库,从而根据该sql查询语句查询数据表,并将查询到的数据信息确定为查询结果。
在上述技术方案中,通过确定数据集实体,可以从数据库中的数据表确定出查询所需的数据表,可以有效降低数据表的数量,提高响应速度。并且,通过生成查询实体,可以对用户的查询操作进行统一且标准化的存储。通过数据集实体和查询实体生成对应的sql查询语句,从而可以在数据表中查询。因此,可以有效降低数据查询操作对用户的高要求,提高方法的适用性和使用范围,提升用户使用体验。
可选地,在另一实施例中,可以对生成的数据集实体进行保存。在根据接收到的数据集选择指令,确定数据集实体时,可以直接选择之前已保存的数据集实体。其中,可以根据不同的业务场景生成对应的数据集实体,从而可以在同一业务场景下实现数据集实体的重复利用,提高数据处理效率。
可选地,在另一实施例中,本公开提供的数据查询方法还可以包括:
根据接收到的第一过滤指令,确定第一过滤条件,并将所述第一过滤条件添加至所述数据集实体。
其中,过滤指令可以是用户通过在图形显示界面进行操作触发的。示例地,当用户想要选择工作地点在沈阳的员工时,可以通过图形显示界面设置过滤条件为“工作地点为沈阳”,并将过滤条件存储在数据集实体中,从而既可以保证用户使用体验,又可以保证数据查询的准确性。如下表3为一数据集实体对应的显示:
表3
可附加地及可替换地,根据接收到的第二过滤指令,确定第二过滤条件,并将所述第二过滤条件添加至所述查询实体。其中,第二过滤指令和第一过滤指令的生成方式相同,在此不再赘述。示例地,如下表4为一查询实体对应的显示:
表4
通过上述技术方案,可以对数据集实体和查询实体进行统一的描述,便生成sql查询语句时流程的简化。
为了使本领域技术人员更容易理解本发明实施例提供的技术方案,下面首先对上述方法中的各个步骤进行详细说明。
可选地,根据所述数据集实体和所述查询实体生成sql查询语句之前,可以首先对数据集实体和查询实体进行验证。示例地,对数据集实体和查询实体进行验证,可以包括确定数据集实体中是否包含数据表,该数据表之间的关联关系是否是其对应的数据库支持的关联关系等;也可以包括确定查询实体中的查询字段对应的数据类型是否合法,如数据类型是否是字符串、数值、日期等。在其通过验证后,根据所述数据集实体和所述查询实体生成sql查询语句。
可选地,在S13中,根据所述数据集实体和所述查询实体生成sql查询语句一种示例性实现方式如下,如图2所示,包括:
在S21中,确定数据集实体对应的数据库类型。
其中,可以根据存储数据集实体对应的数据表的数据库确定其对应的数据类型。示例地,若数据表存储在MySQL数据库中,数据库类型为MySQL;数据表存储在Oracle数据库中,数据库类型为Oracle。
在S22中,分别确定数据集实体和查询实体对应的sql语句。
可选地,所述分别确定所述数据集实体和所述查询实体对应的sql语句,包括:
根据预设的sql映射关系,分别确定所述数据集实体和所述查询实体对应的sql语句,其中,所述预设的sql映射关系包括:
1)查询字段对应select语句;
其中,查询字段可以是维度也可以是度量,其对应的数量可以为一个或多个。示例地,以表3所示查询实体为例,根据sql映射关系确定出的查询字段的sql语句为:
Select员工信息.分工明细,员工信息.职位,count(员工信息.员工号)
可选地,在所述查询字段为多个时,若一部分所述查询字段对应于聚合计算,则除对应于聚合计算的该部分查询字段外的其他查询字段还对应group by语句。
其中,常见的聚合计算可以包括:AVG(平均值计算)、COUNT(计数计算)、SUM(求和计算)等。示例地,在表4对应的查询实体中,存在聚合计算count(员工信息.员工号)的查询字段,则其查询字段中的“分工明细”和“职位”还对应group by语句,则,表4中查询字段对应的sql语句为:
Select员工信息.分工明细,员工信息.职位,count(员工信息.员工号)
Group by员工信息.分工明细,员工信息.职位
2)数据源对应from语句;
可选地,所述根据预设的sql映射关系,确定所述数据集实体和所述查询实体对应的sql语句,包括:
当所述第一数据源对应的数据表为一个时,则将所述数据表的数据表名作为表引用,生成所述第一数据源对应的from语句。
示例地,第一数据源对应的数据表为em_school,则对应生成的第一数据源对应的from语句为:from em_school。
当所述第一数据源对应的数据表为多个时,若多个数据表之间全部关联且不存在环状关联时,将各个所述数据表通过join语句进行关联作为表引用,生成所述第一数据源对应的from语句。
其中,数据表之间全部关联是指在该多个数据表中,任一数据表都存在与其他数据表之间的关联。环状关联是指多个数据表中两两之间具有直接关联,示例地,数据集中包含数据表A,数据表B和数据表C,其中,数据集中包含如下关联关系:
A.a=B.a;B.b=C.b;
此时,数据表A和数据表B之间存在直接关联,数据表B和数据表C中存在直接关联,而数据表A和数据表C中没有直接关联,可以确定该数据集中不存在环状关联。
若数据集中还包括关联关系:C.c=A.c,则数据表A和数据表C之间存在直接关联,此时,则确定数据集中存在环状关联。
可选地,当所述第一数据源对应的数据表为多个时,可以通过如下方式确定该多个数据表之间的关联关系:
从用户选择的第二个数据表起,在用户选择数据表后,遍历当前选择的数据表和之前选择的各个数据表的字段,在存在相同的字段时,根据该相同的字段生成当前选择的数据表和之前选择的数据表的之间的推荐关联,并将该推荐关联显示给用户。用户可以从该推荐关联中选择所需的关联关系,也可以直接输入当前选择的数据表与之前选择的数据表之间的关联关系,本公开对此不进行限定。
可选地,所述将各个所述数据表通过join语句进行关联作为表引用,包括:
从关联关系列表中取出一个关联关系,其中,所述关联关系列表中包括所述第一数据源对应的数据表之间的关联关系。示例地,可以按照关联关系列表中的从头部至尾部的顺序进行读取。
若哈希表为空,将所述关联关系的左数据表的引用作为join语句的左侧表引用,将所述关联关系的右数据表的引用作为所述join语句的右侧表引用,其中,所述左数据表为所述关联关系中等号左边的数据表,所述右数据表为所述关联关系中等号右边的数据表,所述哈希表用于存储数据表,所述哈希表初始为空,所述当前表引用初始为空;
在所述哈希表不为空时,
若所述哈希表中存在所述关联关系中的左数据表,将当前表引用作为join语句的左侧表引用,若所述哈希表中不存在所述关联关系中的左数据表,将所述左数据表的引用确定为join语句的左侧表引用;
若所述哈希表中存在所述关联关系中的右数据表,将当前表引用作为join语句的右侧表引用,若所述哈希表中不存在所述关联关系中的右数据表,将所述右数据表的引用确定为join语句的右侧表引用;
根据所述关联关系对应的关联字段生成sql断言;
根据确定出的join语句的左侧表引用和右侧表引用、所述sql断言确定新的当前表引用,将所述关联关系的左数据表和所述右数据表添加至所述哈希表中,并返回所述从关联关系列表中取出一个关联关系的步骤,直至关联关系列表为空。
示例地,第一数据源对应的数据表为em_company,em_school,em_info,关联关系为:
关联关系1:em_company.员工号=em_school.员工号;
关联关系2:em_school.员工号=em_info.员工号。
因此,在生成数据源对应的from语句时,初始时,哈希表为空,当前表引用为空。选择关联关系1,此时,em_company则为关联关系1中的左数据表,em_school为该关联关系1中的右数据表。因此,直接将左数据表em_company作为join语句的左侧表引用,将右数据表em_school作为join语句的右侧表引用。其中该关联关系对应的关联字段为员工号字段,则生成的sql断言为:em_company.员工号=em_school.员工号,则新的当前表引用为:
em_company inner join em_school
on em_company.员工号=em_school.员工号
同时,将左数据表em_company和右数据表em_school添加到哈希表中。
之后,选择关联关系2,关联关系2中的左数据表为em_school,右数据表为em_info。此时,哈希表中存在左数据表em_school,则将当前表引用“em_company inner joinem_school on em_company.员工号=em_school.员工号”作为join语句的左侧表引用,哈希表中不存在右数据表em_info,可以直接将右数据表em_info的引用作为join语句的右侧表引用。其中,可以直接将数据表名确定为数据表的引用。之后,通过关联关系2对应的关联字段,确定出的sql断言为:em_school.员工号=em_info.员工号,则生成的新的当前表引用为:
em_company inner join em_school
on em_company.员工号=em_school.员工号
inner join em_info
on em_school.员工号=em_info.员工号
之后,关联关系列表为空,表引用的sql映射完成。
在另一实施例中,所述将各个所述数据表通过join语句进行关联作为表引用,还包括:
若所述哈希表不为空,且所述哈希表中不存在所述关联关系的左数据表和右数据表时,将所述关联关系添加至所述关联关系列表,并返回所述从关联关系列表中取出一个关联关系的步骤。
示例地,第一数据源还包含数据表em_test,第一数据源还包括关联关系3:em_test.id=em_info.id。则在取出关联关系1之后,取出关联关系3时,哈希表中存在关联关系1中的左数据表和右数据表,即哈希表不为空,但哈希表中存在关联关系3中的左数据表em_test或右数据表em_info,此时,关联关系3无法和当前表引用之间建立关联,可以将该关联关系3重新添加至关联关系列表,并返回所述从关联关系列表中取出一个关联关系的步骤。其中,在将该关联关系3重新添加至关联关系列表时,可以将该关联关系3添加至列表尾部,从而避免关联关系3的连续写入和取出。若此时取出的关联关系为关联关系2,则生成的当前表引用如上,此时,哈希表中存在数据表em_company、em_school和em_info。则之后取出关联关系3时,可以根据该关联关系3生成当前表引用,其具体实施方式已在上文进行详述,在此不再赘述。
可选地,关联关系列表可以通过先进先出(FIFO)的队列实现,从而可以避免重新写入的关联关系被立即读取的情况,提高处理效率。
因此,在上述技术方案中,可以通过join语句对数据源对应的多个数据表进行关联,生成多个数据表对应的sql语句,既可以保证各个数据表之间的关联性,又可以有效简化用户使用的要求,提升用户使用体验。
针对于第二数据源,对所述第二数据源对应的所述数据集实体调用生成子查询,将所述数据集实体的实体名作为表引用,生成所述第二数据源对应的from语句。
示例地,如表4所示的查询实体中,第二数据源为员工信息。其中,对所述第二数据源对应的所述数据集实体调用生成子查询,将所述数据集实体的实体名作为表引用,包括:将第二数据源对应的数据集实体的sql语句作为其子查询,并将数据集实体的实体名作为表引用生成其对应的from语句。示例地,表3所示数据集实体为表4所示查询实体对应的数据集实体,其实体名为“员工信息”,则生成的第二数据源对应的from语句为“from员工信息”其中,数据集实体“员工信息”对应的sql语句即为该数据集对应的各个部分的sql语句。
3)过滤条件对应where语句或having语句,若所述过滤条件对应的表达式中包含聚合计算,所述过滤条件对应having语句;若所述过滤条件对应的表达式中不包含聚合计算,所述过滤条件对应where语句。
示例地,如表3所示的过滤条件,其中不包含聚合计算,则其对应的sql语句为“where em_company.workplace in(‘沈阳’)”。如表4所示的查询实体,过滤条件1“学历为本科、硕士研究生”不包含聚合计算,对应的sql则为“where员工信息.学历in(‘本科’,‘硕士研究生’)”;过滤条件2“count(员工信息.员工号)>10”包含聚合计算“count(员工信息.员工号)”,则该其对应的sql语句为“having count(员工信息.员工号)>10”。
由此,可以根据该sql映射关系确定数据集实体中第一查询字段和第一数据源对应的sql语句,从而确定数据集实体对应的sql语句;可以根据该sql映射关系确定查询实体中第二查询字段和第二数据源对应的sql语句,从而确定查询实体对应的sql语句。
在S23中,根据数据库类型对应的sql语法对sql语句进行拼接,获得sql查询语句。
其中,不同数据库类型对应的sql语句之间存在不同。因此,在对确定出的各个sql语句进行拼接时,需要按照查询的数据表所对应的数据库类型对应的sql语法进行拼接,从而保证拼接后的sql查询语句可以访问其对应的数据表,从而保证数据的正确查询。
示例地,以表3所示数据集实体为例,如上文所示,该数据集实体的实体名为“员工信息”。其中,
数据源对应的sql语句为:
From em_company inner join em_school
on em_company.员工号=em_school.员工号
inner join em_info
on em_school.员工号=em_info.员工号
查询字段对应的sql语句为:
Select em_company.join_time,em_company.position,em_school.id
过滤条件对应的sql语句为:
where em_company.workplace in(‘沈阳’)
因此,在一实施例下,对该数据集实体的各个sql语句进行拼接,获得的sql语句为:
Select em_company.join_time,em_company.position,em_school.id
From em_company inner join em_school
on em_company.员工号=em_school.员工号
inner join em_info
on em_school.员工号=em_info.员工号
where em_company.workplace in(‘沈阳’)
示例地,以表4所示查询实体为例,其中,数据源对应的sql语句为:
From员工信息
查询字段对应的sql语句为:
Select员工信息.分工明细,员工信息.职位,count(员工信息.员工号)
Group by员工信息.分工明细,员工信息.职位
过滤条件对应的sql语句为:
where员工信息.学历in(‘本科’,‘硕士研究生’)
having count(员工信息.员工号)>10
则对各个sql语句进行拼接得到的sql语句为:
Select员工信息.分工明细,员工信息.职位,count(员工信息.员工号)
From员工信息
where员工信息.学历in(‘本科’,‘硕士研究生’)
Group by员工信息.分工明细,员工信息.职位
having count(员工信息.员工号)>10
之后,将数据集实体的sql语句作为查询实体中的from语句的子查询,即将“员工信息”替换为“员工信息”数据集实体对应的sql语句,以生成sql查询语句。
因此,通过上述技术方案,用户可以用过可视化的界面对数据库进行访问,从而可以生成sql查询语句从数据库中查询用户所需的信息,有效降低用户使用的难度,贴合用户的使用需求。同时,也可以有效保证sql语句的标准化、统一化,提高响应速度,进一步提升用户使用体验。
可选地,在生成sql查询语句后,如果数据集实体中只包含有一个数据表,则可以将该数据集实体中的数据表作为查询实体的数据源,将数据集实体从子查询转化成外层查询,从而使得sql语句更加简洁。其中,将子查询直接转换成外层查询的方式为现有技术,在此不再赘述。
可选地,用户可以对其查询字段进行显示名称命名,以使显示出的查询结果符合自身的期望。例如,对于表3数据集实体中的查询字段em_company.join_time,其对应的显示名称为“入职时间”,此时,可以响应于用户命名操作,触发命名指令,其对应的语句为as语句,则该查询字段对应的sql语句为:
Select em_company.join_time as入职时间,em_company.position,em_school.id
通过上述技术方案,可以对查询字段进行显示名称命名,从而可以在获得查询结果时,通过该显示名称对查询结果进行显示,提高查询结果显示的直观性,保证用户使用体验。
其中,本公开提供的方法还可适用于不同数据库类型之间的数据查询,即多个数据表对应多个数据库类型。在该实施例中,可以基于第三方类库,如,Apache Calcite实现。示例地,可以按照上文所述的单数据库类型的方式生成sql查询语句,其中,使用的数据库类型设置为Calcite类型。在根据生成的sql查询语句查询数据表时,可以将各个数据表的信息提交至ApacheCalcite,由Apache Calcite进行查询。其中,Apache Calcite为现有的SQL解析工具,在此不再赘述。
图3是根据本公开的一种实施方式提供的数据查询装置的框图。如图3所示,该装置30可以包括:
第一确定模块31,用于根据接收到的数据集选择指令,确定数据集实体,其中,所述数据集实体中至少包括第一查询字段和第一数据源,所述第一数据源对应于数据表;
第二确定模块32,用于根据接收到的查询选择指令,确定查询实体,其中,所述查询实体中至少包括第二查询字段和第二数据源,所述第二数据源对应于所述数据集实体;
生成模块33,用于根据所述数据集实体和所述查询实体生成sql查询语句;
查询模块34,用于根据所述sql查询语句查询与所述数据集实体对应的数据表,获得查询结果。
可选地,所述装置还包括:
第一添加模块,用于根据接收到的第一过滤指令,确定第一过滤条件,并将所述第一过滤条件添加至所述数据集实体;
和/或
第二添加模块,用于根据接收到的第二过滤指令,确定第二过滤条件,并将所述第二过滤条件添加至所述查询实体。
可选地,所述生成模块33包括:
第一确定子模块,用于确定所述数据集实体对应的数据库类型;
第二确定子模块,用于分别确定所述数据集实体和所述查询实体对应的sql语句;
处理子模块,用于根据所述数据库类型对应的sql语法对所述sql语句进行拼接,获得所述sql查询语句。
可选地,所述第二确定子模块包括第三确定子模块,用于根据预设的sql映射关系,分别确定所述数据集实体和所述查询实体对应的sql语句,其中,所述预设的sql映射关系包括:
查询字段对应select语句;
数据源对应from语句;
过滤条件对应where语句或having语句,若所述过滤条件对应的表达式中包含聚合计算,所述过滤条件对应having语句;若所述过滤条件对应的表达式中不包含聚合计算,所述过滤条件对应where语句。
可选地,所述预设的sql映射关系还包括:
在所述查询字段为多个时,若一部分所述查询字段对应于聚合计算,则除对应于聚合计算的该部分查询字段外的其他查询字段还对应group by语句。
可选地,所述第三确定子模块包括:
第一生成子模块,用于当所述第一数据源对应的数据表为一个时,则将所述数据表的数据表名作为表引用,生成所述第一数据源对应的from语句;
第二生成子模块,用于当所述第一数据源对应的数据表为多个时,若多个数据表之间全部关联且不存在环状关联时,将各个所述数据表通过join语句进行关联作为表引用,生成所述第一数据源对应的from语句;
第三生成子模块,用于对所述第二数据源对应的所述数据集实体调用生成子查询,将所述数据集实体的实体名作为表引用,生成所述第二数据源对应的from语句。
可选地,所述第二生成子模块用于从关联关系列表中取出一个关联关系,其中,所述关联关系列表中包括所述第一数据源对应的数据表之间的关联关系;
若哈希表为空,将所述关联关系的左数据表的引用作为join语句的左侧表引用,将所述关联关系的右数据表的引用作为所述join语句的右侧表引用,其中,所述左数据表为所述关联关系中等号左边的数据表,所述右数据表为所述关联关系中等号右边的数据表,所述哈希表用于存储数据表,所述哈希表初始为空,所述当前表引用初始为空;
在所述哈希表不为空时,
若所述哈希表中存在所述关联关系中的左数据表,将当前表引用作为join语句的左侧表引用,若所述哈希表中不存在所述关联关系中的左数据表,将所述左数据表的引用确定为join语句的左侧表引用;
若所述哈希表中存在所述关联关系中的右数据表,将当前表引用作为join语句的右侧表引用,若所述哈希表中不存在所述关联关系中的右数据表,将所述右数据表的引用确定为join语句的右侧表引用;
根据所述关联关系对应的关联字段生成sql断言;
根据确定出的join语句的左侧表引用和右侧表引用、所述sql断言确定新的当前表引用,将所述关联关系的左数据表和所述右数据表添加至所述哈希表中,并触发所述第二生成子模块从关联关系列表中取出一个关联关系,直至关联关系列表为空。
可选地,所述第二生成子模块还用于若所述哈希表不为空,且所述哈希表中不存在所述关联关系的左数据表和右数据表时,将所述关联关系添加至所述关联关系列表,并触发所述第二生成子模块从关联关系列表中取出一个关联关系。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是根据一示例性实施例示出的一种电子设备700的框图。如图4所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的数据查询方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件707可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的数据查询方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的数据查询方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的数据查询方法。
图5是根据一示例性实施例示出的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图5,电子设备1900包括处理器1922,其数量可以为一个或多个,以及存储器1932,用于存储可由处理器1922执行的计算机程序。存储器1932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1922可以被配置为执行该计算机程序,以执行上述的数据查询方法。
另外,电子设备1900还可以包括电源组件1926和通信组件1950,该电源组件1926可以被配置为执行电子设备1900的电源管理,该通信组件1950可以被配置为实现电子设备1900的通信,例如,有线或无线通信。此外,该电子设备1900还可以包括输入/输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的数据查询方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1932,上述程序指令可由电子设备1900的处理器1922执行以完成上述的数据查询方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种数据查询方法,其特征在于,所述方法包括:
根据接收到的数据集选择指令,确定数据集实体,其中,所述数据集实体中至少包括第一查询字段和第一数据源,所述第一数据源对应于数据表;
根据接收到的查询选择指令,确定查询实体,其中,所述查询实体中至少包括第二查询字段和第二数据源,所述第二数据源对应于所述数据集实体;
根据所述数据集实体和所述查询实体生成sql查询语句;
根据所述sql查询语句查询与所述数据集实体对应的数据表,获得查询结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据接收到的第一过滤指令,确定第一过滤条件,并将所述第一过滤条件添加至所述数据集实体;
和/或
根据接收到的第二过滤指令,确定第二过滤条件,并将所述第二过滤条件添加至所述查询实体。
3.根据权利要求1所述的方法,其特征在于,所述根据所述数据集实体和所述查询实体生成sql查询语句,包括:
确定所述数据集实体对应的数据库类型;
分别确定所述数据集实体和所述查询实体对应的sql语句;
根据所述数据库类型对应的sql语法对所述sql语句进行拼接,获得所述sql查询语句。
4.根据权利要求3所述的方法,其特征在于,所述分别确定所述数据集实体和所述查询实体对应的sql语句,包括:
根据预设的sql映射关系,分别确定所述数据集实体和所述查询实体对应的sql语句,其中,所述预设的sql映射关系包括:
查询字段对应select语句;
数据源对应from语句;
过滤条件对应where语句或having语句,若所述过滤条件对应的表达式中包含聚合计算,所述过滤条件对应having语句;若所述过滤条件对应的表达式中不包含聚合计算,所述过滤条件对应where语句。
5.根据权利要求4所述的方法,其特征在于,所述预设的sql映射关系还包括:
在所述查询字段为多个时,若一部分所述查询字段对应于聚合计算,则除对应于聚合计算的该部分查询字段外的其他查询字段还对应group by语句。
6.根据权利要求4所述的方法,其特征在于,所述根据预设的sql映射关系,确定所述数据集实体和所述查询实体对应的sql语句,包括:
当所述第一数据源对应的数据表为一个时,则将所述数据表的数据表名作为表引用,生成所述第一数据源对应的from语句;
当所述第一数据源对应的数据表为多个时,若多个数据表之间全部关联且不存在环状关联时,将各个所述数据表通过join语句进行关联作为表引用,生成所述第一数据源对应的from语句;
对所述第二数据源对应的所述数据集实体调用生成子查询,将所述数据集实体的实体名作为表引用,生成所述第二数据源对应的from语句。
7.根据权利要求6所述的方法,其特征在于,所述将各个所述数据表通过join语句进行关联作为表引用,包括:
从关联关系列表中取出一个关联关系,其中,所述关联关系列表中包括所述第一数据源对应的数据表之间的关联关系;
若哈希表为空,将所述关联关系的左数据表的引用作为join语句的左侧表引用,将所述关联关系的右数据表的引用作为所述join语句的右侧表引用,其中,所述左数据表为所述关联关系中等号左边的数据表,所述右数据表为所述关联关系中等号右边的数据表,所述哈希表用于存储数据表,所述哈希表初始为空,所述当前表引用初始为空;
在所述哈希表不为空时,
若所述哈希表中存在所述关联关系中的左数据表,将当前表引用作为join语句的左侧表引用,若所述哈希表中不存在所述关联关系中的左数据表,将所述左数据表的引用确定为join语句的左侧表引用;
若所述哈希表中存在所述关联关系中的右数据表,将当前表引用作为join语句的右侧表引用,若所述哈希表中不存在所述关联关系中的右数据表,将所述右数据表的引用确定为join语句的右侧表引用;
根据所述关联关系对应的关联字段生成sql断言;
根据确定出的join语句的左侧表引用和右侧表引用、所述sql断言确定新的当前表引用,将所述关联关系的左数据表和所述右数据表添加至所述哈希表中,并返回所述从关联关系列表中取出一个关联关系的步骤,直至关联关系列表为空。
8.一种数据查询装置,其特征在于,所述装置包括:
第一确定模块,用于根据接收到的数据集选择指令,确定数据集实体,其中,所述数据集实体中至少包括第一查询字段和第一数据源,所述第一数据源对应于数据表;
第二确定模块,用于根据接收到的查询选择指令,确定查询实体,其中,所述查询实体中至少包括第二查询字段和第二数据源,所述第二数据源对应于所述数据集实体;
生成模块,用于根据所述数据集实体和所述查询实体生成sql查询语句;
查询模块,用于根据所述sql查询语句查询与所述数据集实体对应的数据表,获得查询结果。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910194970.2A CN110069532A (zh) | 2019-03-14 | 2019-03-14 | 数据查询方法、装置、计算机可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910194970.2A CN110069532A (zh) | 2019-03-14 | 2019-03-14 | 数据查询方法、装置、计算机可读存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110069532A true CN110069532A (zh) | 2019-07-30 |
Family
ID=67366224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910194970.2A Pending CN110069532A (zh) | 2019-03-14 | 2019-03-14 | 数据查询方法、装置、计算机可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110069532A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633331A (zh) * | 2019-09-12 | 2019-12-31 | 金蝶蝶金云计算有限公司 | 一种关系数据库中数据提取方法、系统及相关设备 |
WO2021189829A1 (zh) * | 2020-09-02 | 2021-09-30 | 平安科技(深圳)有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN113641698A (zh) * | 2021-08-19 | 2021-11-12 | 成都数之联科技有限公司 | 一种连表查询代码生成方法、装置、电子设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391739A (zh) * | 2017-08-07 | 2017-11-24 | 北京奇艺世纪科技有限公司 | 一种查询语句生成方法、装置及电子设备 |
CN108038175A (zh) * | 2017-09-30 | 2018-05-15 | 用友金融信息技术股份有限公司 | 多维数据动态关联查询方法、装置、计算机设备和介质 |
-
2019
- 2019-03-14 CN CN201910194970.2A patent/CN110069532A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391739A (zh) * | 2017-08-07 | 2017-11-24 | 北京奇艺世纪科技有限公司 | 一种查询语句生成方法、装置及电子设备 |
CN108038175A (zh) * | 2017-09-30 | 2018-05-15 | 用友金融信息技术股份有限公司 | 多维数据动态关联查询方法、装置、计算机设备和介质 |
Non-Patent Citations (2)
Title |
---|
GREYWINGS: "数据库查询连接(JOIN)用法", 《CSDN,HTTPS://BLOG.CSDN.NET/SHADOWCW/ARTICLE/DETAILS/82156031?UTM_SOURCE=APP》 * |
THINK-CODER: "数据库-查询操作", 《CSDN,HTTPS://BLOG.CSDN.NET/SHANG_0122/ARTICLE/DETAILS/81914581?UTM_SOURCE=APP》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633331A (zh) * | 2019-09-12 | 2019-12-31 | 金蝶蝶金云计算有限公司 | 一种关系数据库中数据提取方法、系统及相关设备 |
CN110633331B (zh) * | 2019-09-12 | 2022-08-23 | 金蝶蝶金云计算有限公司 | 一种关系数据库中数据提取方法、系统及相关设备 |
WO2021189829A1 (zh) * | 2020-09-02 | 2021-09-30 | 平安科技(深圳)有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN113641698A (zh) * | 2021-08-19 | 2021-11-12 | 成都数之联科技有限公司 | 一种连表查询代码生成方法、装置、电子设备及计算机可读存储介质 |
CN113641698B (zh) * | 2021-08-19 | 2024-03-12 | 成都数之联科技股份有限公司 | 一种连表查询代码生成方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177231B (zh) | 报表生成方法和报表生成装置 | |
US10169471B2 (en) | Generating and executing query language statements from natural language | |
US10073899B2 (en) | Efficient storage using automatic data translation | |
US11334638B2 (en) | Methods and systems for updating a search index | |
CN110704398B (zh) | 从MySQL到Oracle的数据库迁移方法、装置及计算机设备 | |
KR101283019B1 (ko) | SaaS 어플리케이션 생성 방법 및 이를 실행하는 어플리케이션 생성 서버 | |
US20150269212A1 (en) | Data logging framework | |
US10838964B2 (en) | Supporting a join operation against multiple NoSQL databases | |
CN110069532A (zh) | 数据查询方法、装置、计算机可读存储介质及电子设备 | |
US10929414B2 (en) | Flexible interactive data visualization enabled by dynamic attributes | |
WO2019232980A1 (zh) | 节点配置方法及装置、计算机可读存储介质和电子设备 | |
US20170124146A1 (en) | Building complex hierarchical queries | |
WO2019223136A1 (zh) | 数据获取方法、装置、计算机设备以及存储介质 | |
US12058013B2 (en) | Techniques for allocating capacity in cloud-computing environments | |
US20200089539A1 (en) | Optimization of memory usage by integration flows | |
US20180188824A1 (en) | Autocorrect with weighted group vocabulary | |
CN113055410A (zh) | 云资源管理方法、装置、设备、系统及可读存储介质 | |
US20230004404A1 (en) | Techniques for modifying a compute instance | |
US10628416B2 (en) | Enhanced database query processing | |
US9411836B2 (en) | Facilitating consistency between a glossary and a repository | |
CN113760960A (zh) | 一种信息生成方法、装置和用于生成信息的装置 | |
US20240273088A1 (en) | System and method for bulk export of resource data for view parameters | |
US20240248888A1 (en) | System and method for saving view data using generic api | |
US20240202052A1 (en) | System and method for obtaining resource data using generic api | |
CN115809238A (zh) | 索引生成方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190730 |
|
RJ01 | Rejection of invention patent application after publication |