SQL语言基础主要涵盖以下几个方面:
1. SQL语言简介
SQL是Structured Query Language的缩写,最初称为SEQUEL,是一种用于管理和处理关系数据库的标准编程语言。它包括了三个主要部分:
- DDL(Data Definition Language):用于定义数据结构;
- DML(Data Manipulation Language):用于操纵数据库中的数据;
- TC(Transaction Control)和SC(Session Control):用于事务管理和会话控制。
2. 查询数据
查询是SQL的核心功能,基于关系代数和关系演算。用户可以通过describe
或desc
命令了解表的结构,包括列名和数据类型。基本查询涉及选择表中的全部或特定列,使用SELECT
语句结合WHERE
子句进行条件筛选,还可以通过ORDER BY
对结果排序。
3. 基本查询
基本查询语法包括:
- 选择列(SELECT *或指定列名)
- 取消重复行(DISTINCT)
- 使用表达式(如字符串连接||、算术运算+,-,*,/、日期转换TO_CHAR)
- WHERE子句进行条件过滤,ORDER BY进行排序。
4. 分组查询
通过GROUP BY
子句实现数据分组,结合聚合函数(如COUNT
, SUM
, AVG
, MAX
, MIN
)进行统计分析。HAVING
子句可用于在分组后设置条件过滤。
5. 连接查询
连接查询允许将多个表的数据结合在一起,主要包括:
- 笛卡尔连接(无连接条件)
- 相等连接(使用=)
- 不等连接(不使用=)
- 自我连接(表与自身连接)
此外,可使用JOIN关键字实现更灵活的连接类型,如INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN等。
6. 合并查询
集合运算符如UNION
(去除重复行的并集)、UNION ALL
(包含重复行的并集)、INTERSECT
(交集)、MINUS
(差集)用于合并多个查询结果,ORDER BY
可对合并后的结果进行排序。
7. 子查询
子查询嵌套在其他SQL语句中,常见类型包括单行、多行、相关、标量及多列子查询。它们常用于条件筛选、比较等复杂操作中。