SELECT 查询
SELECT 是 SQL 中最常用、最重要的语句,用于从数据库中检索数据。本章将详细介绍 SELECT 语句的各种用法,让你能够灵活地从数据库中查询所需的数据。
基本语法
SELECT 语句结构
查询所有列
使用 * 通配符查询表中的所有列:
注意:在实际应用中,应该明确指定需要的列,而不是使用 *,以提高性能。
查询指定列
只查询需要的列:
查询并排序
查询单个表
准备数据
假设我们有以下 users 表:
查询所有数据
结果:
查询特定列
结果:
使用别名(AS)
为列指定别名,使结果更易读:
结果:
注意:AS 关键字是可选的,可以省略:
去重查询
DISTINCT 关键字
使用 DISTINCT 消除重复的行:
结果:
多列去重
对多列的组合进行去重:
计算列
基本计算
在查询中可以对列进行计算:
结果:
字符串拼接
条件表达式
使用 CASE WHEN 进行条件判断:
结果:
限制结果数量
LIMIT 子句
限制返回的行数:
结果:
LIMIT 和 OFFSET 结合
分页查询:
MySQL 的分页语法
SQL Server 的分页语法
排序结果
ORDER BY 子句
使用 ORDER BY 对结果进行排序:
结果:
降序排序
使用 DESC 关键字:
结果:
多列排序
使用列别名排序
空值处理
COALESCE 函数
返回第一个非 NULL 的值:
NULLIF 函数
如果两个参数相等,返回 NULL:
字符串函数
CONCAT 函数
UPPER 和 LOWER
SUBSTRING
LENGTH
日期函数
CURRENT_DATE / CURRENT_TIME
DATE_FORMAT(MySQL)
DATE_PART(PostgreSQL)
实战示例
示例 1:查询活跃用户
示例 2:统计各城市用户数
示例 3:查询高价值客户
性能优化建议
1. 避免使用 SELECT *
2. 使用 WHERE 而不是 HAVING
3. 合理使用 LIMIT
4. 为常用查询创建索引
常见错误
错误 1:列名拼写错误
错误 2:忘记 FROM 子句
错误 3:列别名使用不当
小结
本章介绍了 SELECT 查询的基本用法:
- 基本语法:SELECT column FROM table
- 查询所有列:使用
*通配符 - 查询指定列:明确列出需要的列
- 列别名:使用 AS 为列指定别名
- 去重查询:使用 DISTINCT
- 计算列:在查询中进行计算
- 限制结果:使用 LIMIT 和 OFFSET
- 排序结果:使用 ORDER BY
- 字符串函数:CONCAT、UPPER、LOWER 等
- 日期函数:CURRENT_DATE、DATE_FORMAT 等
SELECT 是 SQL 中最重要的语句,掌握它的各种用法是学习 SQL 的基础。在下一章中,我们将学习如何使用 WHERE 子句来过滤数据。
下一步: 学习 WHERE 条件,学习如何过滤查询结果。