根据美国劳工统计局的数据,预计到2026年,计算机和信息研究科学家以及数据科学家的就业前景将增长至少19%。无论公司领域如何,数据的收集和处理都是必不可少的。数据科学家深入挖掘数据,寻找对公司有益的宝贵见解。
大多数公司使用关系数据库管理系统(RDBMS)来存储和管理数据。SQL是结构化查询语言的缩写,它允许用户访问和操作数据。公司使用不同的系统,如MySQL、PostgreSQL、Oracle数据库等,进行数据存储。这些不同版本的SQL之间存在细微差别,但一旦掌握了一种,转向另一种相对容易。
数据库中的数据存储在表中,可以将其视为Excel电子表格。每个电子表格都有行和列。每一行包含与实体(如人、公司等)相关的数据,每一列包含与行的特定方面(如姓名、账户ID、年龄等)相关的数据。
请注意,SQL不区分大小写。它将“table”视为与“TABLE”相同。但是,按照惯例,SQL命令以全部大写字母书写,数据库表以小写字母命名,下划线代替空格。
在SQL中创建新表的语法如下:
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
);
使用CREATE TABLE语句,后跟表名。然后在括号内提及列名及其数据类型。请注意,每个SQL语句都以分号结束。
INSERT INTO语句将新记录插入数据库表中。语法如下:
INSERT INTO table_name(column1, column2, ...)
VALUES (value1, value2, ...);
现在,让向上面创建的表中插入虚拟值。
SELECT语句用于从数据库中选择数据。FROM语句列出将从中获取数据的数据库表。
SELECT column_name_1, column_name_2, ...
FROM table_name;
要替换列名以选择数据库列中的所有列,请用星号(*)替换列名。
WHERE语句根据语句后提到的条件过滤记录,语法如下:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
过滤出薪水超过50,000的员工的代码如下:
SELECT *
FROM employee
WHERE salary > 50000;
注意WHERE语句位于FROM语句下方。在条件内,可以使用逻辑表达式(OR、AND和NOT)以及比较运算符,如>、<、=等。
这三个是最常用的逻辑运算符。这些运算符不需要解释,以下是包含示例条件的表格。
在解释LIKE运算符之前,假设想要过滤出公司中的后端开发人员。可以使用WHERE语句和比较运算符如下:
SELECT *
FROM employee
WHERE job = 'Backend Developer';
这种查询的问题是,如在数据库表中看到的,还有另一个后端开发人员(Nick)没有被过滤,因为他的职位标题是‘Backend Dev’。因此,将使用LIKE运算符。
想要找到所有薪水在25,000和40,000之间(包括)的员工。可以使用AND和比较运算符如下:
SELECT *
FROM employee
WHERE salary >= 25000 AND salary <= 40000;
另一种方法是使用BETWEEN运算符。BETWEEN运算符是包含性的:开始和结束值都包括在内。
这里明确定义了一系列值,并返回包含列表中任何值的记录。想要选择employee_id为1、3或5的员工。
SELECT *
FROM employee
WHERE employee_id IN (1, 3, 5);
这类似于使用OR语句将多个条件链接在一起(WHERE employee_id = 1 OR employee_id = 3 ...)。
SELECT *
FROM employee
FETCH FIRST 2 ROWS ONLY;
SELECT *
FROM employee
ORDER BY salary DESC
FETCH FIRST 3 ROWS ONLY;