VBA的SQL图文竟如此详解

 长得美、身材好、衣着暴露的妖娆的女主播是连线目标,获得青睐的美女,还要进行才艺展示。而我这个文章,不是能说小众,压根就没事充电的。SQL 是一种面向集合,它的操作对象是集合,操作的结果也是集合。
📝在关系数据库中,关系、表、集合三者通常表示相同的概念。

SELECT

下面是一个简单的查询语句:
SELECT 
employee_id,
first_name,
last_name,
hire_date
FROM employees;
它的作用就是从 employees 表中查询员工信息。显然,我们都知道 FROM 之后是一个表(关系、集合)。不仅如此,整个查询语句的结果也是一个表。所以,我们可以将上面的查询作为表使用:
SELECT *
  FROM (SELECT employee_id, first_name, last_name, hire_date
          FROM employees) t;
SELECT 子句用于指定需要查询的字段,可以包含表达式、函数值等。SELECT 在关系操作中被称为投影(Projection),看下面的示意图应该就比较好理解了。

图片

除了 SELECT 之外,还有一些常用的 SQL 子句。
WHERE 用于指定数据过滤的条件,在关系运算中被称为选择(Selection),示意图如下:

图片

ORDER BY 用于对查询的结果进行排序,示意图如下:

图片

总之,SQL 可以完成各种数据操作,例如过滤、分组、排序、限定数量等;所有这些操作的对象都是关系表,结果也是关系表。
图片
在这些关系操作中,有一个比较特殊,就是分组。
GROUP BY

分组( GROUP BY)操作和其他的关系操作不同,因为它改变了关系的结构。
SELECT department_id, count(*), first_name
  FROM employees
 GROUP BY department_id;

 

按照部门统计员工的数量,但是存在一个语法错误,就是 first_name 不能出现在查询列表中。原因在于按照部门进行分组的话,每个部门包含多个员工;无法确定需要显示哪个员工的姓名,这是一个逻辑上的错误。
GROUP BY 改变了集合元素(数据行)的结构,创建了一个全新的关系。分组操作的示意图如下:

图片

尽管如此,GROUP BY 的结果仍然是一个集合。

今天结尾简单点,完!

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/89736.html

(0)
guozi's avatarguozi
上一篇 2024年6月5日 上午10:22
下一篇 2024年6月5日 上午10:28

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注