SQL查询的基本操作语句分享

本文接着介绍我在编写mff算法分析过滤工具时用到的一些sql查询语句。

当我们查询的表是两个表拼接(内连接)在一起的时候,我们可以采用的语句如下:

select table_name_1.column_name_1,table_name_2.column_name_2 from table_name_1 
inner join table_name_2 on table_name_1.column_name_3=table_name_2.column_name_4

这里的inner join 和on是搭配使用的,on后面是我们链接两个表的内部条件,这里给大家举一个简单的例子看一下,如下:

select data_image_20180608.id,data_object_info_20180608.confidence_level from data_image_20180608
inner join data_object_info_20180608 on data_image_20180608.id=data_object_info_20180608.resource_guid

这时,如果我们需要把查询出的数据进行排序显示时,我们可以再加上下面一段话:

select table_name_1.column_name_1,table_name_2.column_name_2 from table_name_1 
inner join table_name_2 on table_name_1.column_name_3=table_name_2.column_name_4
group by table_name.column_name

这样处理之后,查询出的数据就会按照我们设定的table_name.column_name的条件进行排序。

最后我们再综合一下上一篇博客的内容来一个示例:

select  data_image.id,data_image.timestamp,data_image.local_full_path,max( data_object_info.confidence_level),data_object_info.pointlt_x,
data_object_info.pointlt_y,data_object_info.pointrb_x,data_object_info.pointrb_y,data_image.label
from data_image
inner join data_object_info
on data_image.id=data_object_info.resource_guid
where (data_image.event_type=7 and data_image.upload_status =1) and (data_image.timestamp > '2018-06-08 20:30:00' or data_image.timestamp < '2018-06-08 7:30:00')
group by data_object_info.resource_guid

这里需要大家注意,max()函数是和group by()一起配套使用的,如果单独使用max()的话就只输出一个查询数据,博主之前因为不熟悉max()花了很长时间去尝试都是一条信息输出,希望大家使用的时候注意。

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐