利用Dognition数据如果学会SQL语句

浏览: 1455

利用Dognition数据如果学会SQL语句

我觉得SQL语句十分贴近人类的语言。读SQL语句,就感觉和电脑在说话,只是这个说话有一定的套路,一定的格式。你把要的东西一点一点往里面加,就可以组成一个完整语句。

从数据库中调用数据时,我经常用到的就是SELECT语句。SELECT是我最爱的,因为它可以给我我想要的东西。下图是一张最直观的SELECT语句的语法,以及他的处理顺序。


这个语句总共8个关键字,除去SELECT和FROM,其他的都是可以拆卸的,不需要将每一个都放进去。我们可以一步一步来。但是要注意每次添加的位置,这个是有固定格式,不能调换顺序。

我是在jupyter上示范,所以之前需要添加%sql,你也可以直接在mysql workbench 上操作或者在终端中。

最开始我们先看下我们用的dognition数据。总共6张表格,其中后面我以dogs这张表格为例


这是dogs表格的详情,每一个Field就是一列。


最基本的格式

SELECT...FROM...

例如我想看看breed_type这一列的数据。你可以的逻辑就是从dogs中选取breed_type,所以SQL语句就是这样

SELECT breed_type FROM dogs

而且你可以同时选取多列数据

SELECT dog_guid,breed_type FROM dogs


有时候你也会看到这样的符号*,这个表示选择所有的列。

SELECT * FROM dogs


加入第一元素 LIMIT

SELECT...FROM...LIMIT...

数据量庞大的时候,都会加上LIMIT来限制筛选出来的数据数量。就比如上面的两个语句,返回的数据量有3万多条,这样就降低运行速度,也会影响到其他人的使用效率。所以在数据量庞大的时候,记得在最后加上LIMIT

SELECT dog_guid,breed_type FROM dogs LIMIT 5


LIMIT是默认从头开始的,如果你不想从头开始,你可以引入OFFSET,比如从第15条数据开始,选择10条数据

SELECT dog_guid,breed_type FROM dogs LIMIT 10 OFFSET 15


加入第二个元素 DISTINCT

SELECT DISTINCT...FROM...LIMIT...

仔细观察dogs表格中,dog_guid的数据。很显然,这个数据是有很多的重复数据。如果你需要所有不重复的数据呢?DISTINCT就可以解决。你的想要的列名之前加上DISTINCT,就会返回这一列中,所有不重复的数据。

SELECT DISTINCT breed_type FROM dogs;
SELECT breed_type FROM dogs


上图是对两个语句的对比,第一句返回了4条数据,第二句返回了35050条数据。

加入第三个元素 ORDER BY

SELECT ...FROM...ORDER BY...LIMIT...

听名字就很简单理解,就是我们要对数据排序那就要用ORDER BY。dogs表格中有一列是created_at。我们根据完成测试的数量对整体数据排序,默认情况下是按照升序排列。

SELECT dog_guid,created_at FROM dogs ORDER BY created_at LIMIT 10


如果你想要降序排列呢?记住一个单词descend,简写成DESC

SELECT dog_guid,created_at FROM dogs ORDER BY created_at DESC LIMIT 10


上下图比较,你就可以看出排列顺序啦。

  • SELECT
  • DISTINCT
  • FROM
  • WHERE
  • GROUP BY 
  • HAVING
  • ORDER BY
  • LIMIT

8个关键词中,已经说了5个啦。给你一个数据库,应该已经满足了简单的数据查询问题。在之后的文章中,我会继续分享之前我的学习过程,希望用最简单,最明了的方式,分享自己的心得。自己也可以在分享中不断提高。

dognition是一个做狗的测试的wan

推荐 0
本文由 生活缺乏心跳 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册