SQL数据分析之数据提取、数据查询、数据清洗【MySQL速查】

本文详细介绍了数据提取、SQL查询(包括select, where, IN, orderby, casewhen)、数据清洗(update, delete)方法,以及数据分组和连接查询的实战技巧。涵盖了用户表、功能表等数据来源,适合数据分析入门者学习。
摘要由CSDN通过智能技术生成

一、数据提取

1、获得用户表、启动表与功能表
(1)用户表:用户个人信息与订单信息

(2)启动表:日期、时间等

(3)功能表:是否成功、功能、渠道、耗时等

注意:当进入数据分析岗位,需要向数据部门获得数据时必须把关键字段列出来,数据部门才会将相应字段下的数据发给我们。

2、获取数据字典(desc)
数据字典指的就是数据表中的关键字段与关键字段信息;

语法示例:desc user_info; --分号不能少;

也就是宏观查看数据字段。

二、数据查询

1、选取数据(select)

(1)语法示例:select * from user_info; --选取用户信息表中的所有数据

以上的*代表所有内容,关于SQL语句的具体语法规则与详细分析,请参阅:
MySQL数据库基础(数据表的SELECT操作)

(2)查询特定行数(limit)
语法示例:select * from user_info limit 10; --查看数据表前10行数据,无排序

2、筛选(where)

(1)语法结构:select 字段名 from 表名 where 筛选条件;

(2)精准匹配:>、<、=、>=、<=

(3)单条件筛选:

select * from d_function where if_install='install';
--从功能表中找出所有软件已经安装的行

(4)筛选的逻辑操作符:AND表示且(两真才真),OR表示或(一真即真)

(5)多条件筛选:

select * from d_function where if_install='install' AND date='2022-4-15';  
--从功能表中找出条件为软件已安装 且 日期为2022年4月15日的行

(6)注意:当在MySQL中同时用到AND和OR时,AND的执行优先级高于OR。也就是说,在没有小括号()的限制下,总是优先执行AND语句,再执行OR语句。因此,条件很多时为了防止弄混,建议加上小括号()进行优先级限制。

(7)having的用法
①having和where的区别:
having对分组过后的数据进行过滤(而where是分组之前的),不过能用where的地方都可以用having替换

②having用法示例:

--用name分组过后,求每一组jquery的成绩总和,最后筛选jQuery成绩总和大于150的成绩对应的name
select name, sum(jQuery) from ExamResult group by name having sum(jQuery)>150;

--统计JS成绩大于80的name的个数
select count(name) from ExamResult where JavaScript>
  • 10
    点赞
  • 160
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
要在MySQL查询SQL Server数据,您可以使用MySQL提供的Federated存储引擎。Federated存储引擎允许在MySQL中访问其他数据库的表。 以下是在MySQL查询SQL Server数据的一般步骤: 1. 在MySQL服务器上启用Federated存储引擎。您可以通过编辑MySQL配置文件(通常是my.cnf或my.ini)来完成此操作。确保以下行未被注释: ``` [mysqld] federated ``` 2. 重启MySQL服务器以使更改生效。 3. 在MySQL中创建一个Federated表,该表将连接到SQL Server数据库。例如,假设您要查询名为"employees"的SQL Server表,您可以执行以下命令: ``` CREATE TABLE employees_federated ( employee_id INT, employee_name VARCHAR(255), ... ) ENGINE=FEDERATED CONNECTION='mysql://sqlserver_username:sqlserver_password@sqlserver_host:sqlserver_port/sqlserver_database/employees'; ``` 确保将"sqlserver_username"、"sqlserver_password"、"sqlserver_host"、"sqlserver_port"和"sqlserver_database"替换为适当的值,以便连接到SQL Server数据库。 4. 现在,您可以使用标准的SELECT语句在MySQL查询该Federated表,就像查询普通MySQL表一样。例如: ``` SELECT * FROM employees_federated WHERE employee_id = 123; ``` 这将从SQL Server表中检索具有employee_id等于123的记录。 请注意,Federated存储引擎的性能可能会受到网络延迟的影响,因此在查询大量数据时可能会有一定的性能损失。此外,Federated表不支持对SQL Server表的所有操作(例如更新和删除),只能进行查询操作。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿蒙Next

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值