1. 单表查询基础:SELECT语句的三段论结构
单表查询是SQL语言中最基础也最常用的操作,其核心在于SELECT语句的三段论结构:结果、位置、条件。这种结构化的查询方式让数据检索变得清晰可控。
SELECT语句的基本框架可以拆解为三个关键部分:
- 结果部分:决定查询输出哪些列或计算值
- 位置部分:指定从哪个表获取数据
- 条件部分:定义筛选数据的规则
1.1 基础查询语法解析
最简单的SELECT语句只需要指定结果和位置两部分:
sql复制SELECT Sno, Sname FROM Student;
这条语句从Student表中检索学号(Sno)和姓名(Sname)两列数据。星号(*)是特殊通配符,表示选择所有列:
sql复制SELECT * FROM Student;
注意:生产环境中应避免使用SELECT *,明确列出所需字段能提高查询效率并减少网络传输量。
1.2 SELECT子句的灵活运用
SELECT后面不仅可以跟列名,还可以包含:
- 算术表达式
- 字符串常量
- 函数调用
计算学生年龄的示例:
sql复制SELECT Sname, (EXTRACT(YEAR FROM CURRENT_DATE) - EXTRACT(YEAR FROM Sbirthdate))
FROM Student;
字符串常量需要用英文双引号包裹:
sql复制SELECT Sname, "Date of birth:", Sbirthdate FROM Student;
DISTINCT关键字用于消除重复行:
sql复制SELECT DISTINCT Sno FROM SC;
实操心得:DISTINCT会对查询结果进行排序去重,在大数据量时可能影响性能。如果确定数据本身无重复,可以省略DISTINCT提升效率。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 条件筛选:WHERE子句深度解析
WHERE子句是SQL查询的过滤条件核心,支持多种条件表达式和运算符组合。
2.1 比较运算符的应用
基本比较运算符包括:=, <, >, >=, <=, !=, <>, !>, !< 等,还可以用NOT进行逻辑否定:
sql复制SELEC
