MySQL 基础:SELECT、WHERE、JOIN 的第一次使用
不用怕数据库跟着这三个单词你就能查到你想要的一切。欢迎来到《大一突围》专栏。很多大一同学第一次接触 MySQL看到“数据库”三个字就觉得很难。其实你日常生活中每天都在“查数据”——查成绩、翻通讯录、筛选淘宝商品……SQL结构化查询语言就是跟数据库说话的语言。而SELECT、WHERE、JOIN这三个占了日常查询的 90% 以上。今天我们用学生-课程-成绩这个最经典的例子带你写出人生第一条有意义的 SQL。一、准备工作两张小表所有例子都能跑为了让你立刻动手我建了两个极其简单的表 表1students学生表 表2scores成绩表它们的关联关系如下图二、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连接students和scores需要WHERE筛选major 计算机且score 80SELECT 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;结果六、给大一新生的三个建议先在本机安装 MySQL Workbench或者使用免费的在线练习平台如 SQLZoo、LeetCode 的数据库题库手打所有例子。把 JOIN 想象成“VLOOKUP”就像 Excel 里根据 ID 去另一张表找信息。不要背语法背逻辑SELECT选哪几列→FROM从哪张表→JOIN连哪张表→WHERE筛选哪些行。❓ 问题如果你是第一次写 SQL试着回答查询“所有选了‘数据库’课程且成绩大于 80 分的学生姓名”SQL 应该怎么写欢迎在评论区写下你的答案我会选出两位幸运同学送《SQL 必知必会》电子版学习资料。觉得有用请点 关注本专栏《大一突围》下期预告 《Git 从零到 PR大一新生第一个开源贡献》收藏 转发给需要学数据库的同学一起入门 SQL 不踩坑。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2604216.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!