⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

SQL SELECT 查询数据

SQL SELECT 查询语句 · 难度:入门 · +10XP

SQL SELECT 查询语句

SELECT是SQL中最基本也是最常用的语句,用于从数据库中检索数据。无论是查看数据、生成报表还是数据分析,一切都从SELECT开始。

基本语法

SELECT 列名1, 列名2, ...
FROM 表名
WHERE 条件
ORDER BY 排序列;  -- 可选

查询示例

假设有一张students表,包含id、name、age、score、city五个字段。

-- 查询所有列(谨慎使用,数据量大时影响性能)
SELECT * FROM students;

-- 查询指定列 SELECT name, score FROM students;

-- 查询不重复的值 SELECT DISTINCT city FROM students; -- 返回:南宁、桂林、柳州(每个城市只出现一次)

别名(AS)

-- 给列起别名(中文需要双引号或方括号,视数据库而定)
SELECT name AS 姓名, score AS 成绩 FROM students;

-- 给表起别名(多表查询时常用) SELECT s.name, s.score FROM students AS s;

计算列

-- SELECT 中可以做运算
SELECT name, score, score + 10 AS 加分后 FROM students;
SELECT name, score, score * 1.1 AS 加权分 FROM students;

LIMIT 限制结果数量

-- 只返回前5条
SELECT * FROM students LIMIT 5;

-- 跳过前3条,取5条(分页查询) SELECT * FROM students LIMIT 5 OFFSET 3; -- MySQL 简写:SELECT * FROM students LIMIT 3, 5;

SELECT 子句执行顺序

理解执行顺序有助于写出正确的SQL:

FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT

实战练习

  1. 查询students表中所有学生的姓名和城市(只显示这两列)
  2. 查询所有不重复的城市
  3. 查询成绩的前10名学生(按成绩降序,只取前10)
  4. 用AS给查询结果列取有意义的中文别名

SELECT 常用技巧

-- 拼接字符串(MySQL CONCAT)
SELECT CONCAT(name, ' (', city, ')') AS 学生信息 FROM students;
-- 结果:张三 (南宁)

-- 条件判断(CASE WHEN) SELECT name, score, CASE WHEN score >= 90 THEN '优秀' WHEN score >= 80 THEN '良好' WHEN score >= 60 THEN '及格' ELSE '不及格' END AS 等级 FROM students;

-- 从结果中去除重复行 SELECT DISTINCT city, age FROM students;

掌握SELECT是学习SQL的第一步。实际工作中绝大多数查询都是从SELECT开始的,熟练使用SELECT的各种子句能让你高效地从数据库中提取所需数据。建议初学者多动手写查询语句,从简单到复杂逐步练习。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 146 篇
0 完成
🔥 0