![56c0d7264353351e2f30d25ec39590a6.png](https://i-blog.csdnimg.cn/blog_migrate/3611ac63b5152e9fc43e17266ab331c6.jpeg)
课程:DataCamp_Skill Track_SQL fundamentals【笔记】
Chapter 01. 选择列 Selecting columns
本章简要介绍了使用关系数据库。 您将了解它们的结构,如何使用数据库术语来讨论它们,以及如何使用简单的SQL命令来开始分析以从数据库表中选择和汇总列。 欢迎参加本课程!
1.0 欢迎来到本课程! Welcome to the course!
前几节都是在介绍网站的交互式的界面,没什么好记录的
1.1 界面介绍 | 表格 Onboarding | Tables
……
1.2 界面介绍 | 查询结果 Onboarding | Query Result
……
1.3 界面介绍 | 错误 Onboarding | Errors
……
1.4 界面介绍 | 分步骤练习 Onboarding | Bullet Exercises 分步骤练习
……
1.5 开始您的SQL旅程 Beginning your SQL journey
现在您已经熟悉了该接口,让我们直接开始吧。
SQL代表结构化查询语言,是一种用于与存储在称为关系数据库中的数据进行交互的语言。
您可以将关系数据库视为表的集合。表格只是一组行和列,就像电子表格一样,它恰好表示一种类型的实体。例如,一张表可能代表公司中的雇员或进行的采购,但不能同时代表两者。
表的每一行或记录包含有关单个实体的信息。例如,在代表员工的表中,每一行代表一个人。表的每一列或字段对表中的所有行都包含一个属性。例如,在代表员工的表中,我们可能有一列包含所有员工的名字和姓氏。
1.6 选择单列 SELECTing single columns
尽管可以使用SQL创建和修改数据库,但本课程的重点是查询数据库。查询指的是对于数据库表(或表的组合)中数据的请求。对于数据科学家来说,查询是一项必不可少的技能,因为您进行分析所需的数据通常会存储在数据库中。
在SQL中,您可以使用 SELECT
语句从表中选择数据。例如,以下查询从 people
表中选择 name
列:
SELECT name FROM people;
在此查询中,SELECT
以及 FROM
被称为关键字。在SQL中,关键字不区分大小写,这意味着您可以编写与以下查询相同的查询:
select name from people;
一种很好的作法是将SQL关键字大写,以将其与查询的其他部分(如列名和表名)区分开。 在查询末尾添加分号也是一种很好的做法(但对于本课程的练习而言并非必需)。这告诉SQL查询的结尾在哪里! 请记住,您可以在查询结果选项卡中看到执行查询的结果!
- 从
films
表中选择title
列
SELECT title FROM films;
- 从
films
表中选择release_year
列
SELECT release_year FROM films;
- 从表格
people
中选择每个人的name
SELECT name FROM people;
1.7 选择多列 SELECTing multiple columns
做得好!现在您知道如何选择单列。
在现实世界中,您通常会希望选择多个列。幸运的是,SQL让这变得非常容易。要从一个表中选择多个列,只需用逗号分隔列名!
例如,此查询从 people
表中选择两列,name
和 birthdate
:
SELECT name, birthdate FROM people;
有时,您可能希望从表中选择所有列。输入每个列名称将很痛苦,因此有一个方便的快捷方式:
SELECT * FROM people;
如果只想返回一定数量的结果,则可以使用 LIMIT
关键字来限制返回的行数:
SELECT * FROM people LIMIT 10;
在开始以下说明之前,请先查看一下 films
表中的列名!
- 从
films
表获得每部电影的标题
SELECT title FROM films;
- 获取每部电影的标题和发行年份
SELECT title, release_year FROM films;
- 获取每部电影的标题,发行年份和国家
SELECT title, release_year, country FROM films;
- 从
films
表中获取所有列
SELECT * FROM films;
1.8 去重 SELECT DISTINCT
通常,您的结果将包含许多重复的值。如果要从列中选择所有唯一值,则可以使用 DISTINCT
关键字。
例如,如果您有兴趣了解 films
表中代表哪些语言,这可能会很有用:
SELECT DISTINCT language FROM films;
请记住,您可以通过单击表名来查看表中的数据!
- 获取
films
表中出现的所有国家的唯一值
SELECT DISTINCT country FROM films;
- 从
films
表格中获取所有不同的电影认证
SELECT DISTINCT certification FROM films;
- 从
roles
表中获取不同类型的电影角色
SELECT DISTINCT role FROM roles;
1.9 学习计数 Learning to COUNT
如果要求员工表中的员工人数怎么办? COUNT
语句使您可以通过返回一列或多列中的行数来执行此操作。
例如,以下代码给出 people
表中的行数:
SELECT COUNT(*) FROM people;
reviews
表 中包含多少条记录?
SELECT COUNT(*) FROM reviews;
4,968
1.10 练习计数 Practice with COUNT
如您所见, COUNT(*)
告诉您表中有多少行。但是,如果要计算特定列中非缺失值的数量,则可使 COUNT
仅针对该列。
例如,要计算 people
表中的出生日期数:
SELECT COUNT(birthdate) FROM people;
将 COUNT
与 DISTINCT
结合以计算一列中不同值数量也很常用
例如,下面的查询计算 people
表中包含的不同出生日期的数量:
SELECT COUNT(DISTINCT birthdate) FROM people;
让我们练习一下 COUNT
! 步骤 1/5. 计算 people
表中的行数
SELECT COUNT(*) FROM people;
- 计算
people
表中(非空的)出生日期的数量
SELECT COUNT(birthdate) FROM people;
- 计算
people
表中不同的生日的数量
SELECT COUNT(DISTINCT birthdate) FROM people;
- 计算
films
表中不同的语言的数量。
SELECT COUNT(DISTINCT language) FROM films
- 计算
films
表中不同的国家/地区的数量。
SELECT COUNT(DISTINCT country) FROM films
课程:DataCamp_Skill Track_SQL fundamentals【笔记】