news 2026/5/11 18:53:59

MySQL 基础:SELECT、WHERE、JOIN 的第一次使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL 基础:SELECT、WHERE、JOIN 的第一次使用

不用怕数据库,跟着这三个单词,你就能查到你想要的一切。

欢迎来到《大一突围》专栏。很多大一同学第一次接触 MySQL,看到“数据库”三个字就觉得很难。其实,你日常生活中每天都在“查数据”——查成绩、翻通讯录、筛选淘宝商品……

SQL(结构化查询语言)就是跟数据库说话的语言。而SELECT、WHERE、JOIN这三个,占了日常查询的 90% 以上。今天我们用学生-课程-成绩这个最经典的例子,带你写出人生第一条有意义的 SQL。

一、准备工作:两张小表(所有例子都能跑)

为了让你立刻动手,我建了两个极其简单的表:

📄 表1:students(学生表)

📄 表2:scores(成绩表)

它们的关联关系如下图:

二、SELECT:最简单的查询(我要看什么)

SELECT 列名1, 列名2 FROM 表名;

这就像从一个大箱子里捡出你需要的物品。

例子1:查询所有学生的姓名和专业

SELECT name, major FROM students;

结果:

例子2:查询所有列(用*通配符)

SELECT * FROM students;

这会返回整张表的全部内容。

Mermaid 流程图 – SELECT 执行逻辑

三、WHERE:给查询加条件(我要什么)

很多时候你不想要全部数据,只想筛选出符合某些条件的行。这时用WHERE

SELECT 列名 FROM 表名 WHERE 条件;

例子3:只查询计算机专业的学生

SELECT name, major FROM students WHERE major = '计算机';

结果:

例子4:成绩大于等于 80 分的记录

SELECT * FROM scores WHERE score >= 80;

结果:

常用 WHERE 条件符号=><>=<=<>(不等于)、LIKE(模糊匹配)、AND/OR

Mermaid 对比图 – 不带 WHERE vs 带 WHERE

四、JOIN:把多张表连在一起(我要关联信息)

这是很多新手的第一个“拦路虎”。但请你记住:JOIN 就是根据某个共同的字段,把两张表的行拼在一起

最常见的 JOIN 是INNER JOIN(内连接),它只返回两个表中都能匹配上的行。

SELECT 列名 FROM 表A INNER JOIN 表B ON 表A.关联字段 = 表B.关联字段;

例子5:查询每个学生对应的成绩(显示学生姓名、课程、分数)

学生名字在students表,成绩在scores表,通过student_id连接。

SELECT students.name, scores.course, scores.score FROM students INNER JOIN scores ON students.student_id = scores.student_id;

结果:

Mermaid 图解 – JOIN 就像拼积木

实际 INNER JOIN 只会保留那些在 scores 表里有成绩的学生。如果某个学生没有成绩(不存在的 student_id),就不会出现在结果中。

五、综合实战:一条 SQL 同时使用 SELECT、WHERE 和 JOIN

需求:查询计算机专业学生的所有课程成绩,只显示分数 ≥ 80 的记录。

拆解

  • 需要JOIN连接studentsscores

  • 需要WHERE筛选major = '计算机'score >= 80

SELECT students.name, scores.course, scores.score FROM students INNER JOIN scores ON students.student_id = scores.student_id WHERE students.major = '计算机' AND scores.score >= 80;

结果:

六、给大一新生的三个建议

  1. 先在本机安装 MySQL + Workbench,或者使用免费的在线练习平台(如 SQLZoo、LeetCode 的数据库题库),手打所有例子

  2. 把 JOIN 想象成“VLOOKUP”:就像 Excel 里根据 ID 去另一张表找信息。

  3. 不要背语法,背逻辑SELECT(选哪几列)→FROM(从哪张表)→JOIN(连哪张表)→WHERE(筛选哪些行)。

❓ 问题:如果你是第一次写 SQL,试着回答:查询“所有选了‘数据库’课程且成绩大于 80 分的学生姓名”,SQL 应该怎么写?欢迎在评论区写下你的答案,我会选出两位幸运同学送《SQL 必知必会》电子版学习资料。

📌觉得有用请点 👍 + 关注,本专栏《大一突围》下期预告:
👉 《Git 从零到 PR:大一新生第一个开源贡献》

收藏 + 转发给需要学数据库的同学,一起入门 SQL 不踩坑。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 18:49:12

sdrtrunk错误校正技术:BCH、Reed-Solomon和Viterbi解码器详解

sdrtrunk错误校正技术&#xff1a;BCH、Reed-Solomon和Viterbi解码器详解 【免费下载链接】sdrtrunk A cross-platform java application for decoding, monitoring, recording and streaming trunked mobile and related radio protocols using Software Defined Radios (SDR)…

作者头像 李华
网站建设 2026/5/11 18:43:04

如何使用ReportPortal实现ML驱动的自动测试分析

如何使用ReportPortal实现ML驱动的自动测试分析 【免费下载链接】reportportal Main Repository. ReportPortal starts here - see readme below. 项目地址: https://gitcode.com/gh_mirrors/re/reportportal ReportPortal是一款功能强大的测试自动化报告平台&#xff0…

作者头像 李华
网站建设 2026/5/11 18:41:31

《QGIS空间数据处理与高级制图》005:第三方预处理插件推荐

作者:翰墨之道,毕业于国际知名大学空间信息与计算机专业,获硕士学位,现任国内时空智能领域资深专家、CSDN知名技术博主。多年来深耕地理信息与时空智能核心技术研发,精通 QGIS、GrassGIS、OSG、OsgEarth、UE、Cesium、OpenLayers、Leaflet、MapBox 等主流工具与框架,兼具…

作者头像 李华
网站建设 2026/5/11 18:38:11

Pencil Android GUI原型设计:从草图到成品

Pencil Android GUI原型设计&#xff1a;从草图到成品 【免费下载链接】pencil DEPRECATED: Multiplatform GUI Prototyping/Wireframing 项目地址: https://gitcode.com/gh_mirrors/pen/pencil Pencil是一款强大的跨平台GUI原型设计工具&#xff0c;特别适合Android应用…

作者头像 李华
网站建设 2026/5/11 18:37:59

XMem模型训练全流程:从零开始构建高效视频分割网络

XMem模型训练全流程&#xff1a;从零开始构建高效视频分割网络 【免费下载链接】XMem [ECCV 2022] XMem: Long-Term Video Object Segmentation with an Atkinson-Shiffrin Memory Model 项目地址: https://gitcode.com/gh_mirrors/xm/XMem XMem是ECCV 2022提出的基于At…

作者头像 李华