Skip to content
难度基础(★)
建议时长45分钟

3.7.1 SQL语言概述

本课核心知识点整理
本课核心知识点手绘流程图(SVG)

SQL 在本章中的位置

SQL 是关系数据库的标准操作语言。前面关系代数讲的是理论运算:投影、选择、连接、并交差;SQL 则是工程中表达这些运算的语言。字幕里强调,软件设计师对 SQL 的考查并不特别深入,重点集中在查询:普通查询、分组查询,以及近几年偶尔出现的权限控制。

这部分常与关系代数综合考。例如 SELECT 对应投影,WHERE 对应选择,FROM R,S 在没有显式连接条件时对应笛卡尔积。

SQL 的主要类别

类别作用常见动词软考关注度
数据查询语言查询数据SELECT高,常与关系代数结合
数据定义语言 DDL定义或修改数据库对象CREATEDROPALTER了解关键词
数据操纵语言 DML插入、更新、删除记录INSERTUPDATEDELETE了解关键词
数据控制语言 DCL授予或收回权限GRANTREVOKE记住授权语法
事务控制语言 TCL提交或撤销事务COMMITROLLBACK与事务章节衔接

有些教材会把 SELECT 归入 DML,有些会单列为数据查询语言。软考做题时更重要的是识别动词用途:SELECT 查,CREATE 建,INSERT/UPDATE/DELETE 改数据,GRANT/REVOKE 管权限。

SQL 与关系代数的对应

SQL 子句关系代数含义直观理解
SELECT 列名投影 π最终显示哪些列
FROM 表1, 表2笛卡尔积 R×S数据来源,两表先组合
WHERE 条件选择 σ按条件筛选元组
GROUP BY分组聚合按某列把记录分组
HAVING分组后筛选筛选聚合后的组
ORDER BY排序按某列升序或降序排列

这个对应关系解释了为什么 SQL 查询题常和自然连接、笛卡尔积一起考。SQL 不是凭空写出来的,它背后就是关系代数的操作顺序。

查询结果、视图与虚表

字幕中提到:查询的对象通常是基本表,查询结果形成查询表。查询表不是数据库中永久保存的基本表,而是查询执行后得到的结果集合;视图也可以理解为基于查询定义出来的虚表。

对象是否真实存储全部数据典型用途
基本表数据库中的基础关系
查询表通常否某次查询的结果
视图通常否,保存定义简化查询、限制用户可见范围

考试中如果问“查询结果是什么表”,要注意它不是基本表,而是查询表或虚表语义。

做题路线

  1. 分类题先看 SQL 动词,不被字段名干扰。
  2. 查询题先把 SELECT/FROM/WHERE 分别对应投影、数据来源、选择条件。
  3. 多表查询若 FROM 中有多个表,要想到笛卡尔积,必须用连接条件限制。
  4. 看到 GRANTREVOKE,归入权限控制,不要和数据操纵混淆。

例题

单选
SELECT 语句通常属于:
单选
用于授予数据库权限的 SQL 语句是:

自查要点

  1. SQL 常见分类有哪些?
  2. SELECT、CREATE、GRANT、COMMIT 分别属于哪类?
  3. 权限控制对应哪些 SQL 语句?