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;
相关推荐
Database_Cool_9 小时前
OLTP 和 OLAP 区别详解:分析型数据库和事务型数据库怎么选(附阿里云 AnalyticDB MySQL 选型指南)
数据库·mysql·阿里云
Database_Cool_10 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
姜太小白11 小时前
【MySQL】 索引优化实战:解决 WHERE 等值 + IS NULL 查询,TEXT 字段报错 1167 的完整指南
数据库·mysql
liuxiaowei312 小时前
【绝版教程】新版MySQL DBA高级实战进阶班 MySQL8.0 姜承尧-腾讯数据库总监
数据库·mysql·dba
sg_knight14 小时前
MySQL 存储过程详解:从入门到实战
android·数据库·mysql·database·dba·关系型数据库·db
Database_Cool_16 小时前
企业级多模态分析计算引擎选型:首选 AnalyticDB MySQL 向量 + SQL + 实时一体化方案
数据库·sql·mysql
宇宙第一小趴菜18 小时前
五、Oracle vs MySQL 架构深度对比笔记
mysql·oracle·架构
Database_Cool_20 小时前
云数据仓库开通指南:阿里云 AnalyticDB MySQL 10 分钟从 0 到分析实战教程
数据仓库·mysql·阿里云
—Miss. Z—1 天前
计算机二级MySQL——简单应用题(事件&视图)
android·mysql·adb
会编程的土豆1 天前
MySQL 中的 IN 和 EXISTS(零基础笔记)
数据库·笔记·mysql