mysql多表查询

内连接

sql 复制代码
mysql> select t1.name,t1.age,t2.name from emp t1,department t2 where t1.depid=t2.id;--隐式
mysql> select * from emp inner join department on emp.depid=department.id;--显式

外连接

sql 复制代码
mysql> select * from emp left join department on emp.depid=department.id;--左外连接
mysql> select * from emp right join department on emp.depid=department.id;--右外连接

子查询

1、子查询返回结果为单行单列

sql 复制代码
mysql> select * from emp where age=(select max(age) from emp);--查询年龄最大的员工信息,子查询结果为单行单列的,可以作为条件判断
mysql> select * from emp where age <(select avg(age) from emp);--查询年龄小于平均年龄的员工信息

2、子查询结果为多行单列

sql 复制代码
mysql> select * from emp where depid in (select id from department where name in ('研发部','销售部'));

3、子查询返回结果为多行多列,结果可以作为一个虚拟表,作为一个表查询

sql 复制代码
mysql> select * from department t1,(select * from emp where age > 30) t2 where t1.id=t2.depid;
相关推荐
于眠牧北2 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
Turnip12024 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏5 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
WeiXin_DZbishe5 天前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5
爱可生开源社区5 天前
MySQL 性能优化:真正重要的变量
数据库·mysql
小马爱打代码5 天前
MySQL性能优化核心:InnoDB Buffer Pool 详解
数据库·mysql·性能优化
风流 少年5 天前
mysql mcp
数据库·mysql·adb
西门吹雪分身5 天前
mysql之数据离线迁移
数据库·mysql
轩情吖5 天前
MySQL初识
android·数据库·sql·mysql·adb·存储引擎