欧博开户网址 你的位置:欧博会员网站 > 欧博开户网址 > 乐鱼彩票网网站常见问题解答_清点SQL中几个比较实用的小 Tips!
乐鱼彩票网网站常见问题解答_清点SQL中几个比较实用的小 Tips!

发布日期:2023-10-30 04:21    点击次数:173


乐鱼彩票网网站常见问题解答_清点SQL中几个比较实用的小 Tips!

乐鱼彩票网网站常见问题解答_ 澳门巴黎人电子游戏1. 序言

[[436443]]

全球好,我是安果!

责任中,咱们络续需要编写 SQL 剧本,对数据库进行增、删、改、查,很少会筹商到 Sql 性能优化

实质上,从性能角度筹商,有好多 Sql 要道字王人有它们各自的使用场景;淌若使用适宜,能大地面晋升后端作事的反应成果

皇冠体育代理

底下以 Mysql 为例,摆设出几个比较实用的小 Tips

2. union、union all、or

union [all] 代表联接查询,即:将多个查询截止并吞起来成一个截止并复返

PS:union 联接查询针对每一个查询截止,必须保证列数量、列数据类型及查询规定一致

网站提供多样化博彩游戏赛事直播,同时还有博彩攻略技巧分享,用户能够更好地了解博彩知识提高博彩技巧,享受丰富博彩体验。

皇冠hg86a

语法如下: 

理事会听取了常务副会长兼秘书长孙炳刚对学会上半年在学术活动、科技创新、科技普及、人才培养与举荐、政产学研用、标准化、财务状况、秘书处建设等方面的工作进展汇报。报告全面总结了学会在第二届理事会、监事会带领下所开展的重点工作和取得的成绩,得到理事会的一致肯定。

# 以两张表的联接查询为例 # table_one:表一 # table_two:表二 # 表一中的查询字段:table_one_field1,table_one_fileld2... # 表二种的查询字段:table_two_field1,table_two_field2... # 贵重:表一、表二查询字段数量、字段类型、字段规定应该保握一致 select table_one_field1,table_one_fileld2... from table_one union [all] select table_two_field1,table_two_field2... from table_two; 

其中,union、union all、or 三者的分离如下:

union

表蛊卦后会期骗字段的规定进行排序,以此筛选掉重叠的数据行,临了再复返截止

因此,当数据量很大时成果很低

union all

比拟 union,union all 在表蛊卦时不会删除重叠的数据行,径直复返表联接后的截止

因此,union all 履行成果要高好多,在不需要去重和排序时,更保举使用 union all

乐鱼彩票网 or

or 用于 SQL where 子句中,SQL 剧本可读性更高,关联词它会引起全表扫描,根底不走索引查询

皇冠ABC盘

是以凡俗情况下,欧博平台注册union [all] 查询会期骗索引进行查询,履行成果要高于 or;关联词当 or 条目中查询列疏浚,or 的履行成果要高于 union

3. group by + having、where

group by 分组查询,凭据一个或多个列对截止集进行分组,一般合营团聚函数使用

语法如下: 

bet365是哪个国家的
# 查询字段:多个查询字段 select 查询字段...,团聚函数... from table_one where 条目语句 group by 分组字段...having 分组条目;  # 比如 select red_num1,count(red_num1) from dlt where create_at>='2021-11-01' group by red_num1; 

其中,having 和 where 使用上有底下分离:

where

在 group by 分组前履行,将查询截止按照条目过滤数据

需要贵重的是,where 无法与团聚函数沿路使用

移动支付 having

只可合营 group by 使用,在分组之后履行,用于过滤知足条目的组

需要贵重的是,分组是一个耗时的操作,提倡在分组前使用 where 对数据进行一次过滤,然后再进行分组

比如,where 搭配 having 沿路使用 

# 查询表dlt # 领先,使用where通过技能过滤数据 # 然后,使用字段red_num1+group by对数据进行分组 # 临了,使用having对分组后的数据再进行一次过滤 select red_num1,count(red_num1) from dlt where create_at>='2021-10-01' group by red_num1 having count(red_num1)>=2; 
4. exists、in

exists 用于 where 子句中,一般用于判断子查询中是否会复返数据,淌若复返的数据不为空,则为 True,不然为 False

太平洋在线官方网站(中国)有限公司皇冠客服飞机:@seo3687

PS:exists 也不错搭配 not 使用,查询出不知足子查询语句的数据

语法如下: 

网站常见问题解答
-- exists使用 select * from 表一 where exists(select * from 表二 where 条目判断语句);  -- not exists使用 select * from 表一 where not exists(select * from 表二 where 条目判断语句); 

in 一样用于 where 子句中,筛选出某个表字段存在于多个值中的所罕有据

要道字 in 常见的 2 种使用姿首如下: 

银河娱乐集团唯一网站
-- in 使用 -- 姿首一 select * from 表名 where 字段 in(过滤字段1,过滤字段2,过滤字段3...);  -- 姿首二 select * from  表名1 where  字段1 in (select 字段2 from 表名2 where condition) 

由于 SQL 作念子查询最优决议是小表运行大表,关于 in 来说是子查询表运行外在,当子查询表数据少于主表数据时保举使用

而 exists 是外在运行子查询表,因此当外在数据少于子查询表时更保举使用

 



Powered by 欧博会员网站 @2013-2022 RSS地图

皇冠体育导航皇冠体育皇冠现金网皇冠客服新2网址