【Mysql】多表查询

  1. 连接是一定会发生笛卡尔积的(产生的是一张所有组合的表),所以要有消除的手法,一般就是指定符合条件的一行(用where来筛选符合条件的选项就行了)

表关系

【Mysql】多表查询
【Mysql】多表查询
【Mysql】多表查询

连接查询

连接是一定会发生笛卡尔积的(产生的是一张所有组合的表),所以要有消除的手法,一般就是指定id(用where来筛选符合条件的选项就行了)
【Mysql】多表查询

消除笛卡尔积,用一个相等id
【Mysql】多表查询

【Mysql】多表查询
两大类多表查询
【Mysql】多表查询

内连接

【Mysql】多表查询
非交集是什么?(dept_id与dept表的id相关联)
【Mysql】多表查询
【Mysql】多表查询
【Mysql】多表查询

外连接

【Mysql】多表查询
由于有一名员工不属于任何部门,所以要用到左连接(注意左右是针对书写顺序来说的)
【Mysql】多表查询
【Mysql】多表查询

自连接

就是自己连接自己可以是任何链接方法
【Mysql】多表查询
先看有如下表:
【Mysql】多表查询
【Mysql】多表查询
【Mysql】多表查询
【Mysql】多表查询

联合查询

【Mysql】多表查询
有两个注意点
【Mysql】多表查询

【Mysql】多表查询
【Mysql】多表查询

子查询(嵌套查询)

注意子查询放的位置:select,where,from
【Mysql】多表查询

标量子查询

【Mysql】多表查询
【Mysql】多表查询

列子查询

【Mysql】多表查询
【Mysql】多表查询
【Mysql】多表查询

all的使用

【Mysql】多表查询

any的使用

【Mysql】多表查询

行子查询

一行但是多列
【Mysql】多表查询

【Mysql】多表查询

表子查询

多行多列
【Mysql】多表查询
【Mysql】多表查询
【Mysql】多表查询

练习

【Mysql】多表查询
【Mysql】多表查询
【Mysql】多表查询
【Mysql】多表查询
【Mysql】多表查询
【Mysql】多表查询

上一篇:本地部署安装Calico网络


下一篇:Java多线程--同步与死锁:synchronized;等待与唤醒:wait、notify、notifyAll;生命周期