sql语句介绍

首先,以管理员身份运行命令行,打开数据库net start mysql
接着去打开navicat,一波操作猛如虎,比如连接,建表,等等
终于到了语句的发挥

我们的语句分为三个等级,初级,中级,高级,简单说明一下,下面的引号不用理的。
首先,向我们迎面走来的是SELECT 语句,一般操作是SELECT “字段名” FROM “表格名”。
常用有SELECT * FROM"表格名"; 代表数据表中包含的所有列变量;SELECT * FROM “表格名” limit 5;“Limit"限制前 5 条 ;SELECT Distinct “字段名” * FROM “表格名”; “Distinct"去重

然后就是COUNT 函数:查询满足条件的记录总数.
重点:count这个统计出现次数的方法。,比如涨幅,一定是用count()函数,不可以用于在where语句后面,一般与having相连。
语法:SELECT COUNT(“字段名”) FROM “表格名”;
• SELECT COUNT(*) FROM "表格名”; ——计算数据总数
• SELECT COUNT(“字段名”) FROM “表格名”;——计算变量 (去除了缺失
值)
• SELECT COUNT(Distinct (“字段名”) ) FROM “表格名”;——计算去重后的变

MIN(最小)/MAX(最大)/SUM(总计)/AVG(平均) 函数
语法:SELECT min(“字段名”),max(“字段名”),avg(“字段名”),sum("字段名
"),count(“字段名”) FROM “表格名”;

中级
关键语句
WHERE 语句
WHERE 语句是 SQL 语句中的筛选语句。它的主要功能是对数据按照特定的
条件去进行筛选,一般位置在 FROM 的后面。
语法:SELECT 列名称 FROM 表名称 WHERE 列运算符值

操作符
特点:在操作符的右边,都是只有一个固定值,不管是数字还是字符
不等于<>或者!=

IS NULL
虽然说一般通过count字段是可以筛选的,这个的话,有待补充,
用 IS NULL 和 IS NOT NULL 这两个来筛选 NULL 值

IN/BETWEEN/LIKE
IN/BETWEEN这两个属于范围内的,like是属于模糊匹配
IN:语法:SELECT "字段名"FROM "表格名"WHERE “字段名” IN (’
值一’, ‘值二’, …);
BETWEEN:语法:SELECT "字段名"FROM "表格名"WHERE "字段名"BETWEEN ‘值一’ AND ‘值二’;
LIKE:语法:SELECT "字段名"FROM "表格名"WHERE “字段名” LIKE ‘值%’;在like语句中,要是遇到中文,用的是两个%%,_表示单个字符

AND/OR
AND 操作符的逻辑是筛选出满足所有条件的数据
• OR 操作符的逻辑是筛选出满足任何一个条件的数据

AS
语法:SELECT "字段名"AS"新字段名"FROM “表格名”

终于等到你-高级
表与表之间的匹配连接,我们需要使用到 SQL 语句的连接语句 JOIN
INNER JOIN…ON 语句(最常用)
INNER JOIN 语句两边是需要进行链接的两张表,ON 后面的部分则是告诉SQL 是根据两张表里的哪个字段去进行表与表之间的连接。

LEFT JOIN:包含 LEFT JOIN 语句左边表的全部记录以及语句右边表能匹配
上的部分记录
• RIGHT JOIN:包含 RIGHT JOIN 语句右边表的全部记录以及语句左边表能匹
配上的部分记录
FULL OUTER JOIN 语句(最好不用)
inner join 加上 left join 再加上 right join 三种 join 方式的结合

数据聚合
GROUP BY 语句
– • GROUP BY 语句可以实现按照特定字段包含的分类进行汇总计算的效果(比如求最小值,最大值,平均值求和等等)

ORDER BY 语句
– • 在 select from 语句后面加上 ORDER BY 语句可以实现将显示结果按照特定字段进行排序的效果。默认为升序,最后加 desc 为降序

HAVING 语句
将 HAVING 语句添加在 GROUP BY 语句的最后,可以起到筛选出我们想要的结果的效果。
HAVING 语句中使用的筛选的变量一般是做过聚合运算处理之后计算出来的新变量。
• HAVING 语句的前面一定要加一条 GROUP BY 的汇总语句。

CASE WHEN 语句
CASE WHEN 语句主要是根据是否满足语句中的判断条件会落入不同的取值,对数据进行重新分类整理和命名。
• CASE WHEN 语句在结尾部分必须有个 END,来提示系统整个循环语句已经 结束了。

关键 SQL 语句
CREATE TABLE 语句
创建新表
• 语法:CREATE TABLE New_table_name AS + SELECT 语句

DROP TABLE 语句
删除表
• 语法:DROP TABLE table_name;

终极一战:
SQL 语言虽然是从 SELECT 开始,但是实际上执行的顺序是:

  1. 首先去找 FROM 和 JOIN 中所提到的数据表,确定我们所需要
    的数据表是否存在
  2. 根据 Where 语句中筛选条件对记录进行筛选,只保留满足条
    件的记录
  3. 如果有的话,执行聚合语句 Group by 和筛选语句 having 的
    部分
  4. 最后执行 Select 部分的相关语句

SQL 语言的小技巧:
5. 书写代码时提供尽可能多的注释,注释符//
6. 只对所需要的数据进行连接 join,最好在 join 语句中就进行
where 筛选
7. 谨慎选择连接数据表 join 的方式:inner join 是几种 join 方式
中最有效率匹配速度最快的
8. 编写代码时请注意及时换行

案例来了
用 SQL 评估微信推送活动的效果:
问题:哪些微信推送活动给我们带来了好的销售业绩,有比较好的效果?
• 评价标准:ROI=收入/活动成本,找到 ROI 高的微信推送活
动 • 定义:因为微信推送带来的用户购买
• 三个关键的时间点:
微信活动推送的时间
用户阅读推送内容的时间
以及用户发生购买行为的时间
总结:对于每一条用户阅读时间是在推送时间的 24 小时以
内,并且交易发生时间是在阅读时间的 24 小时以内,我们就
认为这个交易是由微信推送活动所带来的。

分步思考:
DESCRIBE 语句:了解两张表格信息“微信推送活动表
(push)”和“推送明细表(push_detail)”
GROUP BY 语句 & ORDER BY 语句:将推送活动按
照其推送效果从好到坏进行排列
WHERE 语句:保留微信推送活动中,那些阅读日期是
在推送日期一天以内的记录
CREATE TABLE 语句:新建一个“阅读过微信文章的会
员表(push_reader)” o JOIN 语句:把满足条件的用户(push_reader)和发生过购买行为的用户进行匹配链接
AS 语句:返回到微信活动表,从中提取出推送活动的
成本信息,计算出每个推送活动的投资回报率 ROI,
并进行从高到低排序
• 语句整合:
子查询 subquery 语句:在 FROM 的语句中,用括号
包含住另一个 SELECT 语句,可得到一样的结果(即
课程最初代码)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值