SQL基础
文章平均质量分 54
Eureka丶
hello world、
展开
-
SQL多表联合查询时采用字段模糊匹配
先说一下背景和要求:背景:由于业务或是其他不描述的原因的问题导致原有存储的数据发生变动,与现有数据有差别,但还是能勉强看明白数据内容。要求:实现A表的名称字段和B表的名称字段要模糊匹配。上图:假如A表长这样:B表长这样:然后我要想变成这样:简单说就是在我关联查询两表时,条件字段的取值看起来不一样,但是意思是一样的,应该要把这种数据关联起来。但是SQL里面“=”两边又必须严格相同,所以现在怎么办呢?方法一:可以采用类似于LIKE模糊查询的办法。MySQL:原创 2021-10-29 20:21:54 · 13471 阅读 · 1 评论 -
SQL对数据作简单处理
1、筛选某字段取值包含汉字的数据SELECT * FROM 表名 WHERE LENGTH(字段名)<>CHARACTER_LENGTH(字段名)2、筛选某字段取值是/不是数字的数据--是数字:SELECT 字段名 FROM 表名 WHERE 字段名 REGEXP '^[0-9]+$'=1--不是数字:SELECT 字段名 FROM 表名 WHERE 字段名 REGEXP '^[0-9]+$'=03、字段值的数据类型转换SELECT CAST(表达式 AS 数据原创 2021-10-19 17:37:25 · 468 阅读 · 0 评论 -
SQL中如何处理除数为0的情况?
问题我们在进行数据统计的时候,经常会遇到求百分比,环比,同比等这些需要除以某个数的情况,而如果除数为0,数据库是会报错的。解决办法方法一SELECT CASE WHEN B=0 THEN 0 ELSE A/B END FROM 表名方法二SELECT ISNULL(A/NULLIF(B,0),0) FROM 表名NULLIF函数有两个参数,定义如下:NULLIF( expression1 , expression2 )其作用就是:如果两个指定的表达式相等原创 2021-10-19 17:13:56 · 1413 阅读 · 0 评论 -
SQL常用语句总结整理
1、创建数据库CREATE DATABASE 库名2、删除数据库DROP DATABASE 库名3、创建新表CREATE TABLE 表名(列名1 数据类型1 [not null] [primary key],列名2 数据类型2 [not null],..)4、根据已有表创建表CREATE TABLE 表名 ASSELECT 列名1,列名2,···FROM 旧表5、删除新表DROP TABLE 表名6、增加一列ALTER TABLE 表原创 2021-10-19 00:46:47 · 7245 阅读 · 0 评论