sql limit不接具体数字_SQL小白入门|读完这篇,你就掌握了80%的SQL命令|【完整版】

54f138761a2ab50a4f083a877e00e4e6.png

SQL基础命令

写在前面: 对于许多人来说,SQL是数据分析的灵药,它用于访问,清理和分析存储在数据库中的数据。它非常容易上手,本教程适用于使用Excel但却没有coding经验的分析人员。

  • 学完本教程,你将:掌握80%以上SQL使用方法
  • 本篇学习时间:5hr
  • 建议先收藏再慢慢看

本篇是过去2年半学习和工作中SQL使用的总结和整理,码字不易,大家请轻轻动下手指点个赞哦

目录

  1. 01篇 SQL入门
  2. 02篇 select语句
  3. 03篇 limit语句
  4. 04篇 where语句
  5. 05篇 比较函数 (>,=,<, !=)
  6. 06篇 逻辑函数
  • LIKE
  • IN
  • BETWEEN
  • IS NULL
  • AND
  • OR
  • NOT

7. 07篇 ORDER BY


01篇 SQL入门

SQL数据分析教程的工作方式
SQL(结构化查询语言)是一种用于管理关系数据库中数据的编程语言。是当今访问数据库中数据的最常用方法。SQL具有多种功能,允许用户读取,操纵和更改数据。

它可以用来直接在存储位置访问大量数据,与excel相比,用SQL完成的数据分析易于审核和复制。

SQL非常适合执行excel中的一些聚合类型:求和,计数,最小值和最大值等。

什么是数据库?
来自Wikipedia:数据库是有组织的数据集合。


组织数据库的方法有很多,为不同目的设计的数据库类型也很多。一个数据库中,可以存在成千上万的表格,表格与表格间会有联系。


数据库中的表格类似于Excel的表格,但组织更加严格。例如,数据库表始终按列进行组织,并且每个列必须具有唯一的名称。下图显示了一个表格,其中包含2010年奥斯卡金像奖的数据:

7a836a91fc07bd5b7baa7b56868482e0.png

这就是表格在数据库中的存储样式。

本篇是个基础入门,下一篇开始,将正式进入coding部分~


02篇 select语句

本篇中使用到的数据文件(第一次用这个link 分享,如果打不开的话告诉我哦):

石墨文档​shimo.im

注:本文code中所有的’SQL_select‘指的就是 上面的表格

为方便大家看列名,以下是该表格的截图:

60302d850e2aa39a5852cb338761bd73.png

基本语法:SELECT和FROM

任何SQL查询中都有两个必需的成分:SELECTFROM-并且必须按此顺序。SELECT指示您要查看的列,FROM标识它们所在的表格。

SELECT year,
       month,
       west
  FROM SQL_select

以下是输出结果:

f3b7d0f4dc98a276f28384993d849368.png

请注意,三个列名称在查询中用逗号分隔。当你选择多列,它们必须用逗号隔开。

如果要选择表中的每一列,可以使用*代替列名:

SELECT *
  FROM SQL_select

f1afc3c6fb75a5fa0cd255e326eb71fc.png

格式

SQL中格式注意两点:

  • 大小写无所谓
  • SQL将一个空格,多个空格或换行符视为同一事物。例如,SQL对待上一个命令的方式与以下命令相同
SELECT *        FROM tutorial.us_housing_units

本篇介绍了最基础的select from 语句,下一篇将介绍: limit语句


03篇 limit 语句

Limit 语句

为什么要使用limi 语句?

实践中,很多数据表几百万行,甚至上亿行,为防止查询花费太长时间返回,建议使用limit语句。

使用SQL LIMIT命令

SELECT *
  FROM SQL_select
 LIMIT 100

这样就只选择前100行的数据,大大缩短了运行时间


04篇 where语句

where 语句

where语句用于给搜索加上限制条件

SELECT *
  FROM SQL_select
 WHERE month = 1

上述命令限定了只选择月份为1月的数值


05篇 比较函数 (>,=,<, !=)

筛选数据的最基本方法是使用比较函数:

  • 等于=
  • 不等于<>或者!=
  • 大于>
  • 小于<
  • 大于等于>=
  • 小于等于<=

数值数据的比较运算符

这些比较运算符可用于数值比较:

例如,以下命令返回10月之前的记录

SELECT *
  FROM SQL_select
 WHERE month > 10

非数值数据的比较运算符

比较运算符也适用于非数值数据

SELECT *
  FROM SQL_select
 WHERE month_name != 'January'

SQL中的算术

对于数值数据,还可使用加减乘除等运算:

SELECT year,
       month,
       west,
       south,
       west + south AS south_plus_west
  FROM SQL_select

上述命令返回了每一行的southwest列中的总和


06篇 逻辑函数

SQL中提供了逻辑运算符来进行更多的操作

  • LIKE: 用以匹配相似值,而且精确值
  • IN: 用以指定要包含的值列表
  • BETWEEN: 用以选择特定范围内的行
  • IS NULL: 用以选择给定列中不包含任何数据的行
  • AND: 用以选择同时满足两个条件的行
  • OR: 用以选择满足两个条件之一的行
  • NOT: 用以选择不符合特定条件的行

下面 我们一个一个来介绍

LIKE

LIKE是SQL中的逻辑运算符,可用于匹配相似的值而不是精确的值。

运行代码返回所有June的数值

SELECT *
  FROM SQL_select
 WHERE month_name LIKE 'Jun%'

IN

IN是SQL中的逻辑运算符,可指定要包含在结果中的值的列表。

SELECT *
  FROM SQL_select
 WHERE year IN (1968, 1969)
SELECT *
  FROM SQL_select
 WHERE month_name IN ('June', 'July', 'Aug')

BETWEEN

BETWEEN用于仅选择特定范围内的行。它必须与AND运算符配对。

SELECT *
  FROM SQL_select
 WHERE year BETWEEN 1965 AND 1970

BETWEEN除了它们之间的值之外,还包括你在查询中指定的范围边界

SELECT *
  FROM SQL_select
 WHERE year >= 1965 AND year <= 1970

NULL

IS NULL用于从结果中排除缺少数据的行

SELECT *
  FROM SQL_select
 WHERE month_name IS NULL

AND & OR

AND 用于仅选择满足两个条件的行

OR 用于选择满足任意一个条件的行

SELECT *
  FROM SQL_select
 WHERE year = 2012 AND month <= 10


SELECT *
  FROM SQL_select
 WHERE year = 2012 OR month <= 10

NOT

NOT可以放在任何条件语句之前,以选择该语句为false的行,用以排除掉一些满足特定条件的行

SELECT *
  FROM SQL_select
 WHERE year = 2013
   AND year_rank NOT BETWEEN 2 AND 3


07篇 ORDER BY 排序数据

order by 用于对结果进行排序, 以下命令能使返回值按照month来排序

SELECT * 
FROM SQL_select
order by month

大家看完别忘了赞一个让更多人看到

另外,欢迎关注我的专栏: 煮一锅数据汤

专栏定期分享数据分析方面干货,如时间序列模型实践、机器学习模型讲解、R编程语言操作、SQL小白入门等

煮一锅数据汤​zhuanlan.zhihu.com
7e0bf844b1d172bc026ab113306aee28.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值