当前位置: 首页 > news >正文

小白成长之路-Mysql数据库基础(二)

文章目录

  • 前言
  • 一、基础命令-单表查询
    • 1.全表查询
    • 2.去重查询
    • 3.统计查询,非空数据
    • 4.别名定义
    • 5.聚合函数查询
      • 5.1 sum()
      • 5.2 avg()
      • 5.3 max()
      • 5.4 min()
    • 6.分组查询group by
    • 7.分组后的条件:having
    • 8.排序查询
    • 9.分页查询
    • 10.模糊查询
  • 二、基础命令-多表查询
    • 1.子查询
    • 2.内连接
    • 3.联合查询union
    • 4.外连接查询
      • 4.1左外连接查询
      • 4.2右外连接查询
  • 三、综合练习
  • 总结


前言

提示:本篇会涉及到mysql基础的各种查询

例如:分组查询,聚合查询,多表查询,左连接,右连接,内连接,子查询


一、基础命令-单表查询

1.全表查询

在这里插入图片描述

2.去重查询

在这里插入图片描述

3.统计查询,非空数据

在这里插入图片描述

4.别名定义

在这里插入图片描述

5.聚合函数查询

5.1 sum()

求和函数
在这里插入图片描述

5.2 avg()

取平均数
在这里插入图片描述

5.3 max()

最大值
在这里插入图片描述

5.4 min()

最小值
在这里插入图片描述

6.分组查询group by

查询每个专业有多少名学生

select m.major_name,count(s.student_id) as student_count from student s join major m on s.major_id=m.major_id group by m.major_name;

在这里插入图片描述

7.分组后的条件:having

查询专业分大于160
在这里插入图片描述

8.排序查询

默认是正序排序
在这里插入图片描述
倒序排序
在这里插入图片描述

9.分页查询

只显示第一条数据
在这里插入图片描述
指定偏移量 limit 1,2
说明:从第2条开始显示2条数据,就是显示2-3行的数据

在这里插入图片描述

10.模糊查询

1.查询名字包含六的学生信息
‘%str%’
在这里插入图片描述
2.查询以老开头的学生
‘老%’
在这里插入图片描述
3.查询以6结尾的学生姓名
‘6%’
在这里插入图片描述

二、基础命令-多表查询

1.子查询

查询选修了"数据结构"课程的学生信息
在这里插入图片描述

2.内连接

查询学生张三的数据结构课程的老师

select s.name,c.course_name,t.name from student s join course c on s.major_id = c.major_id join teacher t on t.teacher_id=c.teacher_id where s.name='张三’and c.course_name=‘数据结构’;
在这里插入图片描述

3.联合查询union

在这里插入图片描述

4.外连接查询

4.1左外连接查询

left join on
基本概念
​左表为主​:保留左表(student)的所有记录
​右表匹配​:只显示右表(major)中匹配的记录
​无匹配显示NULL​:当右表无匹配时,右表字段显示为NULL
在这里插入图片描述

4.2右外连接查询

right join on
基本概念
​右表为主​:保留右表(major)的所有记录
​左表匹配​:只显示左表(student)中匹配的记录
​无匹配显示NULL​:当左表无匹配时,左表字段显示为NULL

在这里插入图片描述

三、综合练习

1.查询每个院系的教师人数

select d.dept_name as ‘学院名称’,count(t.teacher_id) as ‘教师人数’ from teacher t join department d on t.dept_id=d.dept_id group by d.dept_name;

在这里插入图片描述
2.查询学生及其所属专业信息

select s.name as ‘学生姓名’,m.major_name as ‘所属专业’ from student s join major m on s.major_id=m.major_id;

在这里插入图片描述
还可以再查的深点,查到专业所属的学院

select s.name as ‘学生姓名’,m.major_name as ‘所属专业’,d.dept_name as '所属学院’from student s join major m on s.major_id=m.major_id join department d on d.dept_id=m.dept_id;

在这里插入图片描述
3.查询每门课程及其授课教师

select c.course_name as ‘课程名称’,t.name as ‘教师名称’ from course c join teacher t on c.teacher_id=t.teacher_id;

在这里插入图片描述
4.查询每个专业的平均学分信息

select c.course_name as ‘课程名称’,avg(sc.score) as ‘平均分’ from course c join student_course sc on c.course_id=sc.course_id group by c.course_name;

在这里插入图片描述

总结

以上就是mysql单表查询和多表查询的实例,希望能帮助到其他小伙伴哦

http://www.lqws.cn/news/603559.html

相关文章:

  • uniapp内置蓝牙打印
  • jQuery UI 安装使用教程
  • Leetcode力扣解题记录--第49题(map)
  • 电源芯片之DCDC初探索ING
  • 数据结构:递归:组合数(Combination formula)
  • 深度学习常见的激活函数
  • 2025年7月最新英雄联盟战绩自动查询工具
  • [创业之路-458]:企业经营层 - 蓝海战略 - 重构价值曲线、整合产业要素、创造新需求
  • 技术学习_人工智能_1_神经网络是如何实现的?
  • 设计模式精讲 Day 22:模板方法模式(Template Method Pattern)
  • 在 Docker 容器中使用内网穿透
  • 论文阅读:BLIPv1 2022.2
  • 使用 StatsD 向 TDengine 写入
  • Python应用指南:利用高德地图API获取公交+地铁可达圈(三)
  • 黑马python(二十三)
  • 【王阳明代数集合代数基础】文化资本理论实体意气感知评定亲疏情感偏序集,实例《临江仙》讲解情感分析之数据结构的演变
  • LL面试题11
  • 【Python】numpy数组常用数据处理(测试代码+api例程)
  • Git 运行.sh文件
  • 2025 推理技术风向标:DeepSeek-R1 揭示大模型从 “记忆” 到 “思考” 的进化路径
  • 基于SpringBoot + HTML 的网上书店系统
  • JavaEE线程概念
  • Yolov7训练自己的数据集和ONNX/TRT部署
  • MongoDB 常用增删改查方法及示例
  • C++ 快速回顾(六)
  • 数据结构与算法 第二章 线性表
  • CMS、OA、CRM、ERP 是什么意思?区别在哪里
  • CentOS Stream 下 Nginx 403 权限问题解决
  • 大模型-分布式论文一瞥
  • 植物small RNA靶基因预测软件,psRobot