
零基础SQL入门进阶课程
文章平均质量分 63
这一系列课程,打算用最直白的语言给大家讲清楚SQL。
以小白的角度入手,手把手教你学习SQL的入门知识。
SQL的常用语句很少,最基本的增删改查,跟Excel差不多,不用担心学不会。
结合实例+作业巩固,争取用一门课让大家掌握SQL。
喵宁一
这个作者很懒,什么都没留下…
展开
-
LeetCode大厂SQL面试题解(一)
大家好,我是宁一。最近会在群里每天更新SQL题目。又间接督促我勤奋了许多——原创 2022-10-08 01:27:58 · 946 阅读 · 0 评论 -
零基础自学SQL课程 | 窗口函数
窗口函数,也叫OLAP(Online Anallytical Processing,联机分析处理),可以对数据库数据进行实时分析处理。窗口函数是数据分析师常用的语法函数,面试时几乎是大厂的必考题。这一节属于高阶内容了,比较难以理解,大家一定要自己在电脑上敲打,看看效果。这样才能加深理解。之前的课程讲过如何安装数据库,大家可以到我主页查看哦~基本语法上面 的位置,可以放下面两种函数:(1)聚合函数:如sum.avg,count,max,mi...原创 2022-06-29 20:26:58 · 456 阅读 · 0 评论 -
零基础自学SQL课程 | CASE函数
当分类多于两种时,可以用我们上节课讲的IF函数嵌套,也可以用CASE函数,语句可读性会更好。基本语法:1、CASE函数先来看看上节课的实例。实例:在Students表中,学生编号Sid小于等于3的学生,属于1班;Sid为4到6的学生,属于2班;Sid大于等于7的学生属于3班。最后显示Sname,Sage,所在班级这3列。我们用IF函数是这样实现的。用Case函数可以这样来写:要注意,CASE函数一定要用END来结束。WHEN语句之间不需...原创 2022-06-27 16:12:40 · 368 阅读 · 0 评论 -
零基础自学SQL课程 | IF函数
大家如果学过其他编程语言,应该对IF函数很熟悉了。用来根据条件,返回不同值。基本语法:如果条件表达式为True,返回值1,为False,返回值2。返回值可以是任何值,比如:数值、文本、日期、空值NULL、数学表达式、函数等。1、 IF函数实例:在Students表中,将1995年及之前出生的学生划分为1班,1995年以后出生的学生划分为2班,最后显示Sname,Sage,所在班级这3列。示例结果:2、IF函数嵌套当分类大于两种时,可以将IF函数嵌...原创 2022-06-26 19:24:29 · 715 阅读 · 0 评论 -
零基础自学SQL课程 | SQL中的日期函数大全
MySQL中内置的日期函数,包括获取日期、日期格式化、日期计算,我们分别来看看。1、获取日期函数MySQL内置的获取日期时间函数:获取具体年月日函数:实例:在Students表中,找出生日Sage为1995年的学生记录。我们之前也做过这个题,用BETWEEN…AND…实现的,可以点击主页找到第五讲--WHERE条件子句复习一下~我们主要使用 DATE_FORMAT、TIME_FORMAT函数对日期和时间进行格式化,来看看具体用法。...原创 2022-06-25 15:40:38 · 1742 阅读 · 0 评论 -
零基础自学SQL课程 | SQL基本函数大全
MySQL中内置了很多函数,用来处理数值、字符串、日期等,这节课我们来讲讲有哪些常用的函数。1、数值函数2、字符串函数作业:将Students表中,学生姓名Sname 与 学生性别Ssex 拼接起来,中间加空格,并添加一列随机数。示例结果:下节课我们讲MySQL日期函数。点击关注,更新课程第一时间通知哦~...原创 2022-06-24 16:46:54 · 559 阅读 · 0 评论 -
零基础自学SQL课程 | 相关子查询
上节课我们讲的子查询,都是先一次性得出子查询的结果,再返回给主查询使用。这种子查询与主查询之间是没有关联,互不影响的。但在相关子查询中,子查询是在主查询每一条记录层面上依次进行的,子查询依赖主查询。相关子查询比非关联查询执行起来慢一些。但是有很多实际的应用。实例:选出Scores成绩表中,学生编号在1~6之间的记录,找出那些超过相同科目平均成绩的学生成绩。实例解析:要注意的是,这里我们需要知道是当前科目的平均成绩。所以使用子查询计算当前科目平均成绩的时候,...原创 2022-06-23 12:41:41 · 325 阅读 · 0 评论 -
零基础自学SQL课程 | 子查询
SQL语句可以嵌套,最常见的就是查询语句的嵌套。基本语法:我们一般称外面嵌套的语句为主查询,里面被嵌套的语句为子查询,有时也会叫外查询、内查询,大家知道意思就好。子查询要用括号括起来。子查询不仅可以放在WHERE的后面,还可以放在SELECT、FROM的后面,我们一个个来讲解。1、子查询+WHERE子句SQL执行时,会先执行括号内的子查询,子查询最常与WHERE子句结合使用。子查询的结果作为WHERE子句的筛选条件,完成更复杂的数据检索。实例:在S...原创 2022-06-22 15:26:22 · 317 阅读 · 0 评论 -
零基础自学SQL课程 | SQL语句语法顺序与执行顺序
SQL 语句的书写顺序与执行顺序不是一致的,我们通过这节课来搞清楚。1、书写顺序语句书写顺序很重要,顺序不对会报错的。我们前面的课程已经学过SELECT、WHERE、ORDER BY、LIMIT、JOIN、UNION、GROUP BY、HAVING语句用法。如果这些语句在SQL中同时存在,书写顺序是这样的:看着比较复杂,不过我们不需要特意去背,多进行一些实战练习,自然而然就记住了。2、执行顺序1.FORM:选择from后面跟的...原创 2022-06-21 12:53:35 · 418 阅读 · 0 评论 -
零基础自学SQL课程 | HAVING子句
大家好,我是宁一。今天讲解SQL教程第16课:HAVING子句。HAVING 也是条件筛选语句,放在GROUP BY的后面。基本语法:1、HAVING与WHERE的区别HAVING 与我们前面学的 WHERE 都是条件筛选语句,他俩不仅作用差不多,写法也相通。WHERE语句后面的比较运算符、IN、BETWEEN、LIKE等,在HAVING中也可以使用。这俩的本质区别是:WHERE是在GROUP BY分组之前进行条件筛选,后面不可以跟聚合函数。HAVING是在GROUP BY分组之后进行条件筛选,后面可原创 2022-06-20 13:50:51 · 266 阅读 · 0 评论 -
一文讲懂SQL分组子句GROUP BY
今天讲解SQL教程第15课:GROUP BY子句。GROUP BY子句是用来给结果集分组的,通常与我们上节课讲的聚合函数结合使用。基本语法:1、GROUP BY子句如果SQL语句中有GROUP BY子句,SELECT后面的字段如果是表中现有的列,则GROUP BY子句中也必须有这个列,否则会报错。这句话有点不好理解,我们举个实例就清楚多了。实例:在Students表中,将记录通过学生性别Ssex分组。SELECT后面跟的列是表中现有的列Ssex,GROUP BY子句中也有Sse...原创 2022-06-19 11:49:11 · 3063 阅读 · 0 评论 -
一文讲懂SQL聚合函数
大家好,我是宁一。今天讲解SQL教程第14课:聚合函数。1、什么是聚合函数聚合函数,顾名思义,就是会将数据记录聚合到一起的函数。比如原先数据库中有100条记录,用聚合函数查询这100条记录中的最大值,最后输出的只有最大值的这一条记录。2、常用的聚合函数有:MAX( ) 最大值MIN( ) 最小值SUM( ) 总值AVG( ) 平均值COUNT( ) 记录条数实例:在Students表中,计算学生编号Sid的最大值、最小值、总值、平均值、记录条数。...原创 2022-06-17 14:18:49 · 1495 阅读 · 0 评论 -
零基础自学SQL课程 | UNION 联合查询
今天讲解SQL教程第13课:UNION 联合查询。前两节课讲的JOIN连接,可以对多个表进行横向列合并。这节课讲的UNION 操作符,是将多个查询结果,按行纵向合并。基本语法:1、单张表联合查询UNION 合并结果集的时候,如果合并的结果集中有重复行,只会保留其中一行。实例: 查询出Students表中,将学生编号Sid为2到5的记录和1到3的记录通过UNION联合起来。实例解析: UNION上面的结果集中有Sid为1、2、3的记录,UNION下面的结果集中有Sid为2、3、4、5的记...原创 2022-06-07 15:50:44 · 2117 阅读 · 1 评论 -
零基础自学SQL课程 | OUTER JOIN外连接
外连接是左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)、全外连接(FULL OUTER JOIN)的统称。一般我们会省略掉OUTER,后面的课程会统称:左外连接为左连接(LEFT JOIN)右外连接为右连接(RIGHT JOIN)全外连接为全连接(FULL JOIN)。上节课讲的INNER JOIN内连接,结果相当于两表的交集,这节课我们讲的左连接和右连接,结果中除了交集,还包含了左/右表...原创 2022-06-07 15:46:50 · 983 阅读 · 1 评论 -
零基础自学SQL课程 | INNER JOIN 内连接
大家好,我是宁一。今天讲解SQL教程第11课:INNER JOIN 内连接。前面的课程我们主要讲了SQL的基本语法,只涉及到单张表的增删改查。但在实际业务中,往往需要多张表联合查询,这个就是我们接下来几节课的主要内容。1、JOIN连接多张数据表联合查询,需要用到JOIN连接,JOIN连接分为好几种,先来简单介绍一下,看不懂也没关系,后面课程我们会举实例介绍的。INNER JOIN:内连接,也可以只写JOIN。只有进行连接的两个表中,都存在与连接标准相匹配的数据才会被保留下来,相当于两个表的交原创 2022-05-26 16:54:34 · 2197 阅读 · 0 评论 -
零基础自学SQL课程 | DELETE 删除语句
大家好,我是宁一。今天是SQL课程的第十课。讲讲DELETE 删除语句,用来删除表中的一条或多条记录。基本语法:DELETE FROM <表名> WHERE <筛选条件>;1、DELETE语句如果省略WHERE条件,这时候DELETE就会删除整个表的记录。注意: 这里不是删除表,只是删除表中所有数据,还会保留表结构的。实例: 删除Teachers表中所有记录。DELETE FROM Teachers;如果遇到这个错误:You are using safe u原创 2022-05-26 16:50:39 · 32583 阅读 · 1 评论 -
UPDATE 更新语句 零基础自学SQL课程系列Day9
大家好,我是宁一。今天是SQL课程的第九课。讲讲UPDATE 更新语句,用来修改表中的一条或多条记录。基本语法UPDATE <表名> SET <字段名=值> WHERE <筛选条件>;1、更新单行实例:将Students表中,学生编号Sid为1的学生姓名Sname改为:“喵宁一”UPDATE StudentsSET Sname="喵宁一" WHERE Sid=1;这时很可能遇到这个错误:You are using safe update m原创 2022-05-23 18:46:49 · 1089 阅读 · 0 评论 -
INSERT 插入语句 零基础自学SQL课程系列Day8
大家好,我是宁一。今天是SQL教程的第八课。这节课讲讲 INSERT插入语句,用来像数据库中添加数据。基本语法:INSERT INTO <表名> (列名)VALUES (值);1、插入单行实例:在课程表Courses中,插入一个新课程的信息。方法一:可以不指定列名,插入的值必须按现有的字段顺序完整插入。INSERT INTO Courses VALUES(4,1,"体育");方法二:可以指明列名,后面值的顺序,与列名的顺序是对应的就可以。INSERT INTO C原创 2022-05-22 14:21:52 · 527 阅读 · 0 评论 -
LIMIT 子句 零基础自学SQL课程系列Day7
大家好,我是宁一。今天是我们的第七课:LIMIT 子句。LIMIT子句用来限制返回记录的数量。基本语法:SELECT <字段名> FROM <表名> LIMIT <限制行数>;1、取前几条记录我们可以通过 LIMIT n 取结果集中的前n条记录。实例:返回Students表的前3条记录。SELECT *FROM StudentsLIMIT 3;2、跳过前几条记录可以通过 LIMIT m,n 跳过结果集中的前 m 条记录后的前 n 条记录。这原创 2022-05-22 14:16:47 · 461 阅读 · 0 评论 -
ORDER BY 排序子句 | 零基础自学SQL课程系列Day6
大家好,我是宁一。今天是SQL教程的第六课,来看看ORDER BY 排序子句。ORDER BY语句是用来排序的,后面跟的是字段名。基本语法:SELECT <字段名> FROM <表名> ORDER BY <字段名>;1、ORDER BY 后面可以:是表中现有的列名;给数字排序,也可以给字符、文字排序;ASC是升序排序(默认),DESC是倒序排序。实例: 将Students学生表根据性别排序。SELECT *FROM Student原创 2022-05-07 10:12:16 · 1264 阅读 · 0 评论 -
WHERE条件子句 | 零基础自学SQL课程系列Day5
大家好,我是宁一。今天是SQL教程的第五课:来看看WHERE条件子句的用法。WHERE子句基本语法:SELECT <字段名> FROM <表名> WHERE <筛选条件>;1、比较运算符WHERE子句中,最常用到的就是比较运算符,包括大于(>)、小于(<)、等于(=)、大于等于(>=)、小于等于(<=)、不等于(!=或者<>)。要注意等于是一个等号而不是两个等号。实例: 在Students表中,查出班主任 Tid 不为2的原创 2022-05-06 15:47:22 · 2260 阅读 · 0 评论 -
一文讲懂SQL查询语句SELECT | 零基础自学SQL课程系列Day4
大家好,我是宁一。上节课我们带大家创建了数据表,这节课来讲讲SQL的基本语法。SQL的基本语法就是增(INSERT)、删(DELETE)、改(UPDATE)、查(SELECT)。我们在面试中,基本问到的都是SELECT,所以我们先从SELECT讲起。1、SELECT语句SELECT语句用来从数据库选取数据,结果会被存储在结果集中。基本语法:SELECT <字段名> FROM <表名>;实例: 查询Teachers表的所有数据(Teachers表属于School数据库原创 2022-05-06 15:27:04 · 1287 阅读 · 0 评论 -
MySQL创建数据库、数据表 | 零基础自学SQL课程系列Day3
大家好,我是宁一。今天是SQL教程的第三课,会教大家创建一个数据库,方便我们后面课程的学习。目录可以点击这里查看:SQL课程目录上节课链接:手把手教你安装MySQL数据库1、WorkBench常用操作我们上节课刚安装了WorkBench这个数据库图形化工具,打开这个工具。页面看着挺复杂,但我们常用的就那几个。再看看工具栏。2、创建数据库、数据表后面的课程我们会先讲解查询语句,我们先来创建1个数据库,4个数据表,方便后面课程的学习。数据表关系:复制下面的语句:-- 创建数据库原创 2022-03-30 13:14:23 · 1268 阅读 · 1 评论 -
手把手教你安装MySQL数据库 Mac Windows | 零基础自学SQL课程系列Day2
大家好,我是宁一。今天继续SQL教程系列~目录可以点击这里查看:SQL课程目录上节课链接:最通俗易懂的介绍什么是数据库今天是我们的第二课:安装MySQL。分别来讲讲Windows和Mac系统的安装方式。1、Windows系统下载MySQL:https://dev.mysql.com/downloads/windows/installer/8.0.html打开上方网址,会出现下面界面,我们选择第一个 Windows (x86, 32-bit), MSI Installer 安装。点击Do原创 2022-03-29 10:25:39 · 3223 阅读 · 0 评论 -
最通俗易懂的介绍什么是数据库 | 零基础自学SQL课程系列Day1
大家好,我是宁一。SQL课程今天开更~目录可以点击这里查看:SQL课程目录第一课主要带大家建立SQL的认知。1、什么是数据库数据库就是存放数据的地方。我们可以在数据库中查找数据、添加数据、修改数据、删除数据。在互联网时代,我们每天都在和数据库打交道,比如打开支付宝,看到的疫情现状,就是从数据库中读取的。本节课我们主要讲解,工作中使用最广泛、面试中最常问到的关系型数据库。2、数据库是怎样存放数据的?其实跟Excel差不多,Excel是一张一张二维表,每张表是由行和列组成的。关系型数据库中原创 2022-03-29 01:18:15 · 1196 阅读 · 0 评论