乐趣区

关于数据库:大数据公司数据分析取数流程以及SQL示例

无效的数据分析,首先须要从宏大的数据库中获取所需的数据,这就波及到 SQL 取数的技巧。

SQL 应用流程

作为一种结构化查询语言,SQL 能够对关系型数据库进行增删改查操作。对于数据分析师,最罕用的就是查问操作,即从数据库中提取出满足条件的数据,以便再进行计算解决或可视化展现。那么,SQL 取数的根本流程是什么呢?

  • 首先,确定要取数的指标表和字段,以及要计算的指标。这须要对业务需要有清晰的了解,晓得要从哪些表中获取哪些字段,以及要计算哪些内容。
  • 其次,编写 SQL 查问语句,应用 select、from、where、group by、having、order by 子句,指定要查问的字段名、表名、条件、分组、排序,熟练掌握 SQL 语法,灵便应用各种函数。
  • 而后,运行 SQL 查问语句,从数据库中获取数据,肯定要严格检查数据的准确性和完整性。正确地连贯数据库,执行查问语句,还要留神检查数据是否有缺失、异样或谬误等问题。
  • 最初,将查问后果导出到其余工具或平台,筹备下一步的解决或展现。不同的场景,配合不同的工具,广泛的如 Excel、Power BI、Tableau。

SQL 具体代码内容

具体的业务需要决定如何写 SQL 代码,但总的来说,分为以下几个局部:

  • 建表语句:创立数据库或表,指定表名、字段名、字段类型、主键、索引等属性。
  • 插入语句:向表中插入数据,指定要插入的表名和字段值。
  • 查问语句:从表中查问数据,指定要查问的字段名、表名、条件、排序、分组等。
  • 更新语句:批改表中的数据,指定要批改的表名、字段名、条件和新值。
  • 删除语句:删除表中的数据,指定要删除的表名和条件。

不同局部的 SQL 简略示例如下:

-- 建表语句
create table products (
  prod_id int primary key, -- 产品编号
  prod_name varchar(50) not null, -- 产品名称
  prod_price decimal(10,2) check (prod_price > 0), -- 产品价格
  prod_category varchar(20) -- 产品类别
);

-- 插入语句
insert into products values (1, 'iPhone 14', 6999.00, '手机');
insert into products values (2, 'iPad Pro', 4999.00, '平板');
insert into products values (3, 'MacBook Air', 7999.00, '笔记本');

-- 查问语句
select * from products; -- 查问所有产品信息
select prod_name, prod_price from products where prod_category = '手机'; -- 查问手机类别的产品名称和价格
select prod_category, avg(prod_price) as avg_price from products group by prod_category; -- 查问每个类别的产品平均价格

-- 更新语句
update products set prod_price = prod_price * 0.9 where prod_id = 1; -- 将产品编号为 1 的产品价格打九折

-- 删除语句
delete from products where prod_price < 5000; -- 删除价格低于 5000 的产品 

SQL 代码示例

再看一个简略的示例,假如咱们要从一个产品表中获取产品名称、价格和类别等信息,并计算每个类别的产品平均价格。

首先,咱们确定要取数的指标表和字段如下:

  • 指标表:products
  • 指标字段:prod_name(产品名称)、prod_price(产品价格)、prod_category(产品类别)
  • 指标指标:prod_category_avg_price(每个类别的产品平均价格)

其次,咱们编写 SQL 查问语句如下:

-- 查问语句
select prod_name, prod_price, prod_category, avg(prod_price) over (partition by prod_category) as prod_category_avg_price
from products;

其中,

  • select 子句指定了要查问的字段名;
  • from 子句指定了要查问的表名;
  • avg 函数用于计算平均值;
  • over 子句用于指定窗口函数的分区和排序形式;
  • partition by 子句用于依照产品类别进行分组;
  • as 子句用于给计算出来的字段起一个别名。

而后,咱们运行 SQL 查问语句,在数据库中获取数据,并检查数据是否正确和残缺。假如咱们失去了如下的查问后果:

prod_name prod_price prod_category prod_category_avg_price
iPhone 14 6999.00 手机 6999.00
iPad Pro 4999.00 平板 4999.00
MacBook Air 7999.00 笔记本 7999.00

咱们能够看到,查问后果中蕴含了咱们想要的字段和指标,数据也没有缺失或异样,因而能够认为数据是正确和残缺的。

最初,咱们将查问后果导出到 Excel 中,进行进一步的解决,能够对查问后果进行排序、筛选、剖析或制作图表等,以满足不同的需要和场景。

退出移动版