MySQL表关联的常用方式有哪几种

发布时间:2020-05-15 10:09:51

来源:亿速云

阅读:328

作者:三月

本文主要给大家介绍MySQL表关联的常用方式有哪几种,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL表关联的常用方式有哪几种吧。

建表及插入数据,

CREATE TABLE  school (

sch_id int(11) NOT NULL AUTO_INCREMENT,

sch_name varchar(50) NOT NULL,

sch_addr varchar(100) DEFAULT NULL,

PRIMARY KEY (sch_id)

) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

CREATE TABLE student (

st_id int(11) NOT NULL AUTO_INCREMENT,

st_name varchar(20) NOT NULL,

age smallint(6) DEFAULT NULL,

hight int(5) DEFAULT NULL,

sch_id int(11) DEFAULT NULL,

PRIMARY KEY (st_id),

KEY sch_id (sch_id)

) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 ;

INSERT INTO school VALUES (1,'南开大学','南开'),(2,'中央财经大学','北京'),(3,'香港理工大学','香港'),(4,'西安交通大学','西安'),(5,'悉尼大学','悉尼'),(6,'曼彻斯特大学','曼彻斯特'),(8,'延安抗日军政大学','延安');

INSERT INTO student VALUES (1,'王晓阳',26,168,6),(2,'王楠',28,162,2),(3,'杨振宇',30,178,1),(4,'苗昕',28,162,3),(5,'张诗雨',27,171,5),(8,'李倩',28,162,4),(9,'蒋结石',26,178,7);

1.左关联:以左表为中心,查出左表的全部数据,关联字段值不相等则右表查出的数据显示为空;

select * from school a left join student b on a.sch_id=b.sch_id;

2.右关联:以右表为中心,查出右表的全部数据,关联字段值不相等则左表查出的数据显示为空;

select * from school a right join student b on a.sch_id=b.sch_id;

3.内关联:查出两表关联字段等值的数据

select * from school a inner join student b on a.sch_id=b.sch_id;

4.查出只属于左表的数据

select * from school a left join student b on a.sch_id=b.sch_id where b.st_id is null;

5.查出只属于右表的数据

select * from school a right join student b on a.sch_id=b.sch_id where a.sch_id is null;

6.查出全部数据

select  from school a left join student b on a.sch_id=b.sch_id union select  from school a right join student b on a.sch_id=b.sch_id;

7.查出左表和右表关联不相等的数据

select  from school a left join student b on a.sch_id=b.sch_id where b.st_id is null union select  from school a right join student b on a.sch_id=b.sch_id where a.sch_id is null;

看完以上关于MySQL表关联的常用方式有哪几种,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

mysql数据表关联_MySQL表关联的常用方式有哪几种相关推荐

  1. mysql数据异常增长_mysql表到一定数据量后会异常的增长

    如题 InnoDB的table,里面的字段非常简单,如图中的类型 才100多W的数据量,数据是慢慢积累起来的,到了最近发现涨到12G后,会每天成倍的增长,最高到达过50G,而数据量还是那些,longt ...

  2. mysql表关联_MySQL表关联的几种常用方式

    工作中我们经常会使用表与表关联来查询数据,如果对join 不熟悉,可能会得到我们不想要的节过,这里就来介绍下join的几种常用方法: 建表及插入数据, CREATE TABLE school ( sc ...

  3. mysql表类型_MySQL表类型的选择

    P131)创建表时的默认引擎是InnoDB,如果要修改默认的存储引擎,可以在参数文件中设置default-table-type.查看当前的默认存储引擎,可以使用一下命令: 创建新表的时候可以通过增加E ...

  4. MySQL数据查询之多表查询

    多表查询 多表联合查询 #创建部门 CREATE TABLE IF NOT EXISTS dept (did int not null auto_increment PRIMARY KEY,dname ...

  5. mysql 表别名_MySQL 表别名(Alias)

    SQL 表别名 在 SQL 语句中,可以为表名称及字段(列)名称指定别名(Alias),别名是 SQL 标准语法,几乎所有的数据库系统都支持.通过关键字 AS 来指定. 表别名语法: SELECT c ...

  6. mysql关系表控制_mysql表关系

    一.表的详细操作 1.修改表名 alter table 旧表名 rename 新表名; ​2.修改表的引擎与字符编码 alter table 表名 engine="引擎名" ch ...

  7. mysql 修改表卡死_MySQL表不能修改、删除等操作,卡死、锁死情况的处理办法。...

    MySQL如果频繁的修改一个表的数据,那么这么表会被锁死.造成假死现象. 比如用Navicat等连接工具操作,Navicat会直接未响应,只能强制关闭软件,但是重启后依然无效. 解决办法: 首先执行: ...

  8. mysql right join实例_MySQL表LEFT JOIN左连接与RIGHT JOIN右连接的实例教程

    LEFT JOIN 语法用法与实例MySQL LEFT JOIN 语法 SQL(MySQL) LEFT JOIN 会取得左表(table1)全部记录,即使右表(table2)并无对应匹配记录.LEFT ...

  9. 回收mysql表碎片_MySQL表碎片整理

    MySQL表碎片整理 1. 计算碎片大小 要整理碎片,首先要了解碎片的计算方法. 可以通过show table [from|in db_name] status like '%table_name%' ...

最新文章

  1. 50年前就已讨论的数据中心隐私问题
  2. python量化交易书_Python量化交易
  3. WebClient UI删除搜索条件的后台处理,以及max hit的处理逻辑
  4. 简单用于测试的listview的视图
  5. 项目总结1:微信扫码自动识别设备类型并跳转到相应的应用下载页面(apk或App Store)之解决方案
  6. 精彩预告:还在迷茫吗,DBA的未来,他们怎么看?
  7. python解决数据不均衡,上采样方法解决
  8. css如何调整红心样式_条码软件如何调整条码数据的样式
  9. (六)java版电子商务spring cloud分布式微服务b2b2c社交电商- commonservice-config配置服务搭建...
  10. Android UI学习之SeekBar
  11. 中国用量子计算机仿生生物,中国科学技术大学研制一种可持续生物合成仿生多层级太阳能蒸汽发生器...
  12. Fix: Send-Mail: Warning: Inet_protocols: IPv6 Support Is Disabled
  13. wordpress如何隐藏后台位置?
  14. winRAR 破解注册码
  15. 如何下载使用MSDN原版系统镜像
  16. zemax光学设计高阶优化
  17. java8新特性,stream流多种写法
  18. Dependency-check
  19. matlab距离变换,图像处理之距离变换
  20. GlusterFS元数据机制分析

热门文章

  1. 「RPC」简述RPC
  2. 曾经占据90%市场份额的家校互动平台,为何被小天才打败?
  3. 信息安全-网络安全主动防御技术与应用(一)
  4. (附源码)Spring Boot 框架整合 OAuth2 实现单点登录 SSO 详细完整源码教程!
  5. python代码调用谷歌翻译_Python3 调用谷歌翻译
  6. 假期作业二:主成分分析:步骤、应用及代码实现。代码可以用任何你熟悉的编程语言。
  7. javaweb项目通过natapp实现项目让外网访问
  8. android折叠布局,Android中FoldingLayout折叠布局的用法及实战全攻略
  9. vscode下载慢解决办法
  10. 李炎恢老师HTML5+CSS3教程与课件代码 下载