news 2026/5/30 20:00:30

MySQL表的内连和外连

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL表的内连和外连
  • 内连接
  • 外连接
    • 左外连接
    • 右外连接
  • OJ

内连接

实际上我们在表的复合查询部分用的就是内连接,只不过语法不是很规范。
标准语法:

select字段from1innerjoin2on连接条件and其他条件;

如,显示SMITH的名字和部门名称:
之前的写法:

mysql>selectename,dnamefromemp,deptwhereemp.deptno=dept.deptnoandename='SMITH';+-------+----------+|ename|dname|+-------+----------+|SMITH|RESEARCH|+-------+----------+1rowinset(0.00sec)

标准写法:

mysql>selectename,dnamefromempinnerjoindeptonemp.deptno=dept.deptnowhereename='SMITH';+-------+----------+|ename|dname|+-------+----------+|SMITH|RESEARCH|+-------+----------+1rowinset(0.00sec)

外连接

外连接又分为左外连接和右外连接。

左外连接

如果联合查询,左侧的表完全显示我们就说是左外连接。

语法:

select字段名from表名1leftjoin表名2on连接条件

示例:
我们先创建两个表:

createtablestu(idint,namevarchar(30));-- 学生表insertintostuvalues(1,'jack'),(2,'tom'),(3,'kity'),(4,'nono');createtableexam(idint,gradeint);-- 成绩表insertintoexamvalues(1,56),(2,76),(11,8);

查询所有学生的成绩,如果这个学生没有成绩,也要将学生的个人信息显示出来:

如果使用普通的内连接:

右外连接

如果联合查询,右侧的表完全显示我们就说是右外连接。

语法:

select字段from表名1rightjoin表名2on连接条件;

示例:

  1. 对stu表和exam表联合查询,把所有的成绩都显示出来,即使这个成绩没有学生与它对应,也要显示出来
  2. 列出部门名称和这些部门的员工信息,同时列出没有员工的部门

OJ

做些简单OJ巩固下:

  1. 分数排名
SELECTS.score,COUNT(DISTINCTT.score)AS'rank'FROMScores SINNERJOINScores TONS.score<=T.scoreGROUPBYS.id,S.scoreORDERBYS.scoreDESC;
  1. 换座位
SELECTt1.id,t2.studentFROMSeat t1JOINSeat t2ONt1.id-1+2*MOD(t1.id,2)=t2.idOR(t1.id=(SELECTMAX(id)FROMSeat)ANDt2.id=t1.idANDMOD(t1.id,2)=1)ORDERBYt1.id;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/28 15:31:26

Vue3 系列教程(一)Vue3初识与环境搭建

引言 欢迎来到Vue3零基础入门的第1课。作为前端初学者&#xff0c;从最基础的认知到实际搭建项目&#xff0c;一步一步把基础打牢&#xff5e; 1. 初识Vue3&#xff1a;它到底是什么&#xff1f;值不值得学&#xff1f; 首先咱们得搞清楚核心定位&#xff1a;Vue3是一套用于…

作者头像 李华
网站建设 2026/5/28 15:31:33

高防IP线路质量重要吗

1、高防IP对访问速度的影响 高防IP的线路质量直接关系到用户的访问速度。优质的线路能够确保数据传输的高效与稳定。比如&#xff0c;采用BGP多线接入技术的高防IP线路&#xff0c;能够智能地根据网络情况选择最优路径&#xff0c;实现电信、联通、移动等不同网络用户的高速访…

作者头像 李华
网站建设 2026/5/28 19:41:27

AI编程陷入“越帮越忙”怪圈?垂直深耕才是破局关键

在AI技术快速渗透软件开发领域的今天&#xff0c;“AI辅助编程”早已不是新鲜概念。从代码补全、语法纠错到BUG修复、逻辑优化&#xff0c;各类通用AI编程工具层出不穷&#xff0c;宣称能帮开发者节省80%的调试时间、大幅提升开发效率。但现实往往事与愿违&#xff0c;越来越多…

作者头像 李华
网站建设 2026/5/28 17:44:44

无需等待:飞算JavaAI专业版“三大升级×十大AI工具”速览

自2025年1月发布以来&#xff0c;飞算JavaAI始终以每周一次的节奏快速迭代&#xff0c;累计完成了超过60次功能更新与优化&#xff0c;并已辅助开发者生成了1000000个完整项目。 在免费服务获得广泛认可的同时&#xff0c;我们也清晰地听到了许多用户对“更深层、更强大AI赋能”…

作者头像 李华
网站建设 2026/5/28 15:31:32

计算机毕业设计springboot辅导员用学生管理系统 SpringBoot高校学生事务一站式工作台 基于SpringBoot的辅导员智慧学工助手

计算机毕业设计springboot辅导员用学生管理系统&#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。 一个辅导员要盯 300 学生&#xff1a;谁缺课、谁挂科、谁心理预警、谁该拿奖学金…

作者头像 李华