sql 不等于符号_SQL 必备知识 - 第一弹

36ee409d13718bb957b7b2027100b182.png

作为产品同学,大家日常决策必须依赖数据,但是获取数据是一个挺麻烦的事情,一般都需要像 RD 提需求-排期-交付数据,这是一个很漫长的路径。为了提高工作效率自己学会使用 SQL 查询数据,对于日常工作推进能快不少,同时也能让 RD 同学对 PM 稍微产生一点敬意,咱也不是啥都不懂是不是~

SQL 语句语法讲解

学编写一门程序语言的前提是能看懂它,然后边看边学,边看边改,慢慢的就会了。由于日常使用更多的是用来查询数据,所以本文章仅讲解如何查询。

1、写下第一行 SQL

select * from t

逐字翻译:
「select」 —— 选择
「*」 —— 所有的
「from」—— 从
「t」—— 存储数据的表名,可以简单理解为 excel 中 sheet 的名字

串起来的意思就是:
「从」 「t 表」中「选择」「所有的」数据

是不是很简单?现在你可以从任意表中将全部的数据查询出来了,公司有数据平台的同学可以去开个权限尝试下了。

2、如何选取部分数据?

上述描述的是将一个表中所有的数据全部查询出来,但是在日常使用中很多时候可能仅需要一部分数据,例如:

  • 场景:公司周年庆需要给公司的用户送礼品,公司的用户表存储了:用户昵称、用户手机号、用户地址、用户头像、用户注册时间、用户id 等信息。
  • 你的需求:将公司所有用户的手机号和用户地址导出,给他们寄送公司礼品。

那么这个 SQL 你需要这样写:

select 用户手机号, 用户地址 from 用户表

串起来的意思就是:
「从」「用户表」中「选择」「用户手机号、用户地址」的数据

是不是感觉很简单,想选择什么数据,在 select 后面填写对应的字段名字就行

  • 实际情况中,表名和字段名字都会是英文名,按照对应的名称替换即可。

3、如何给选取的数据增加规则要求?

当你将「用户手机号」「用户地址」都筛选出来后,发现用户量比较多,这次批准的预算可能不够,全量用户中还需要进行一些筛选,筛选的条件是:注册时间在 2020.01.01 之前的老用户才赠送礼品。

这需要在上述 SQL 中增加一个新的语句模块:

select 用户手机号,用户地址 from 用户表 where 注册时间<'2020.01.01'

where —— 哪里?的意思。放在 SQL 中用来表达:在选取哪些数据?所以 where 后面跟随的就是筛选条件。

串起来的意思就是:
「从」「用户表」中「选择」满足条件「注册时间<'2020.01.01'」的「用户手机号、用户地址」数据

判断条件常用的符号有:
= - 等于
>= - 大于等于
<= - 小于等于
> - 大于
< - 小于
!= - 不等于

还有一些更高级的方法可以用作判断,可后续自行研究

可能有人会问,条件能不能有多个?当然可以。

如果这个时候发现选择 注册时间<2020.01.01 仍然用户很多,还需要再筛选一次,要求注册时间还要满足 >2019.01.01,这个时候 SQL 可以改成:

select 用户手机号,用户地址 from 用户表 where 注册时间<'2020.01.01' and 注册时间>'2019.01.01'

如果判断条件之间是 与(&) 的关系,则需要用 and 链接,意思为既满足 条件1 也要满足 条件2

有 与(&) 关系,则肯定会有对应的 或(|) 关系

如要求 注册时间<2020.01.01 或 注册时间>2020.05.01 则需要写成:

select 用户手机号,用户地址 from 用户表 where 注册时间<'2020.01.01' or 注册时间>'2020.05.01'

用 or 连接,意思为满足 条件1 或 条件2 的用户,都符合要求。

AND & OR 运算符,更详细解释可以点击查看>>

上述基本上讲明白的增加条件的语法规则,但是条件判断的编写可能是有些坑的,这里将我认为新手容易犯的错误列出,后续自己多实践自然就能避开这些坑了。

我感觉新手主要的坑都和数据类型有关,一下也解释不清楚,实在不能理解可以边试边用,用多了就懂了~

1、字符串类型不打「引号」包住

  • 首先我们需要明白字符串是一种单独的数据类型,类似:整数 和 小数。他必须要用「引号」包住计算机才能识别他是字符串类型。例如:
  • 昵称 = TMAC —— 没有打引号,会报错
  • 昵称 = “TMAC” —— 正确

2、等号左右两边不一致

  • 例如:注册时间=‘2010.01.01’,有可能在表中查不出来数据,因为存在表中的数据可能是‘2010-01-01’,存储的内容和你判断条件写的不一样。

第一弹可以到这里结束,新手掌握上述内容,基本上可以完成一些简单的数据查询了~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值