当前位置: 首页 > news >正文

香港vps云服务器合肥正规的seo公司

香港vps云服务器,合肥正规的seo公司,查询企业年报的网站,网站建设高端培训简介 本文编写原因主要来于XC迁移过程中修改SQL语句时,发现大部分修改均源自于项目SQL编写不规范,以此文档做以总结。 注:此文档覆盖不甚全面,大体只围绕迁移遇到的修改而展开。 正文 1、【字段引号】 列名、表名如无特殊情况…

简介

本文编写原因主要来于XC迁移过程中修改SQL语句时,发现大部分修改均源自于项目SQL编写不规范,以此文档做以总结。

  • 注:此文档覆盖不甚全面,大体只围绕迁移遇到的修改而展开。

正文

1、【字段引号】
列名、表名如无特殊情况,不要添加任何引号(` ’ 等)。若返回列名有可能是关键字,例如month、year等,必须使用双引号包裹。

# 错误
SELECT book_name as bookMame, year as year;
# 正确
SELECT book_name as bookMame, year as "year";

2、【除0兼容】
存在除法计算的时候(/),要确保除数为0的兼容。MYSQL一定程度上兼容这种计算,但是对于其他数据库则不一定,最好的办法是使用函数nullif对被除数进行零值判断。

# 错误
SELECT a/b
# 正确
select a/nullif(b, 0)函数解释:
NULLIF(表达式1,表达式2)
NULLIF函数比较表达式1和表达式2。如果两个表达式相等就返回空值(NULL)。如果不等就返回表达式1。

3、【严格分组】
在对表进行聚合查询的时候,只能在 SELECT 子句中写下面 3 种内容:通过 GROUP BY 子句指定的聚合键、聚合函数(SUM 、AVG 等)、常量。但通常可以通过设置数据库的sql_mode,移除only_full_group_by解决此问题,但是若无特殊情况,还是应保障遵守严格模式标准。若能保证某个字段在业务中每个分组中只会有一个值,并且也不想用作group by字段语句,可通过max(特殊字段)方式达到类似的效果。

# 不规范写法
SELECT a, b
from tb
group by a;# 兼容写法
SELECT a, max(b)
from tb
group by a;# 规范写法,既然b没有参与分组,就不该出现在select子句中
SELECT a
from tb
group by a;

4、【类型区别】
日期不要和字符串类型进行比较

update safety_manage_organ 
set spread_certificate_status = if(spread_end_time is null || spread_end_time >= now(), '有效', '无效'), 
chief_engineer_certificate_status = if(chief_engineer_end_time is null || chief_engineer_end_time >= now(), '有效', '无效'), deputy_safe_certificate_status = if(deputy_safe_end_time is null || deputy_safe_end_time >= now(), '有效', '无效'), electric_certificate_status = if(electric_end_time is null || electric_end_time >= now(), '有效', '无效'), 
produce_certificate_status = if(produce_end_time is null || produce_end_time >= now(), '有效', '无效')
WHERE enterprise_id = 260;update safety_manage_organ 
set spread_certificate_status = if(spread_end_time is null || spread_end_time >= date_format(now(), '%Y-%m-%d'), '有效', '无效')
WHERE enterprise_id = 260;

5、【union规范】
union 连接的所有数据行要保证列顺序一致且字段类型相同。

# 错误写法
select 0 entId, 0 province, 0 city, 0 district from dual
union select '10164564' entId, '520000' province, '522000' city, '522022' district from dual# 正确写法
select '0' entId, '0' province, '0' city, '0' district from dual
union select '10164564' entId, '520000' province, '522000' city, '522022' district from dual

6、【多表关联】
多表关联时,最好为每张表指定别名,第一复杂查询时方便定位,第二某些数据库会报字段不明确的错误情况。

# 错误写法: 字段关联 "industry_type" 是不明确的
SELECT A.industry_type AS industry_type,SUM ( A.predict_count ) AS predict_count,( SUM ( A.predict_count ) - SUM ( b.real_count ) ) AS predict_change_value,(ROUND(( ( SUM ( A.predict_count ) - SUM ( b.real_count ) ) / SUM ( b.real_count ) ) * 100,2 ) ) AS predict_change_rate,SUM ( error_count ) AS error_count 
FROM( SELECT SUM ( predict_count ) AS predict_count, error_count, industry_type FROM electricity_produce_predict_info WHERE YEAR = '2022' GROUP BY industry_type )AS A JOIN ( SELECT real_count, industry_type FROM electricity_produce_predict_info WHERE YEAR = '2022' - 1 GROUP BY industry_type ) AS b ON A.industry_type = b.industry_type 
GROUP BY industry_type;# 正确写法,group by 跟上A.industry_type
SELECT A.industry_type AS industry_type,SUM ( A.predict_count ) AS predict_count,( SUM ( A.predict_count ) - SUM ( b.real_count ) ) AS predict_change_value,(ROUND(( ( SUM ( A.predict_count ) - SUM ( b.real_count ) ) / SUM ( b.real_count ) ) * 100,2 ) ) AS predict_change_rate,SUM ( error_count ) AS error_count 
FROM( SELECT SUM ( predict_count ) AS predict_count, error_count, industry_type FROM electricity_produce_predict_info WHERE YEAR = '2022' GROUP BY industry_type )AS A JOIN ( SELECT real_count, industry_type FROM electricity_produce_predict_info WHERE YEAR = '2022' - 1 GROUP BY industry_type ) AS b ON A.industry_type = b.industry_type 
GROUP BY A.industry_type;

结语

本文暂时列举此几大类,其主要应用于PG数据库,但也可代表所有,因为PG几乎是所有数据库中要求比较严格的一种。

http://www.hrbkazy.com/news/33345.html

相关文章:

  • 石材企业网站广州营销课程培训班
  • 广州小程序软件开发怎样进行seo优化
  • 山东省住房与建设厅网站首页seo是什么部位
  • 国际摄影网站西安百度推广排名
  • 大连网站制作学校郑州seo代理公司
  • dw如何用表格来做网站建站公司网站源码
  • 什么网站可以做ui兼职网页设计论文
  • 网站用户后台是怎么做的互联网广告平台代理
  • 动态网站建设的费用明细如何注册一个域名
  • 如何提高网站收录量企业查询
  • 做个企业网站大概多少费用seo网站的优化方案
  • 网站上的视频直播是怎么做的呢站长之家域名查询鹿少女
  • 怎样用自己的服务器做网站推广新产品最好的方法
  • html网站标题怎么做新媒体营销策略
  • ppt制作免费模板山西seo排名厂家
  • 原创网站设计百度推广的费用
  • 电商设计网站有哪些功能有必要买优化大师会员吗
  • 织梦做的网站打开慢下载班级优化大师app
  • chinacd人妖wordpress专业百度seo排名优化
  • wordpress支持字体福州seo技巧培训
  • 在哪找做调查赚钱的网站seo怎么推广
  • 企业vi设计公司旅游公司logo重庆优化seo
  • 苏州公司建设网站制作做一个网站需要多少钱
  • 做的网站错位怎么办百度免费
  • 测试wordpress响应速度网页优化
  • 网站怎么后台登陆杭州seo平台
  • 做网站需要监事吗网站推广教程
  • 肇庆网站开发哪家专业整合营销的最高阶段是
  • seo案例分析及解析关键词的分类和优化
  • 园林工建设有限公司网站百度的首页