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;
相关推荐
.痞老板.19 小时前
mysql初阶--增删改查操作
数据库·mysql
浮生若城1 天前
MySQL:库与表的操作
数据库·mysql
翔云1234562 天前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql
在多学一点2 天前
MYSQL第二次作业
android·数据库·mysql
yeccheng2 天前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
骑着蜗牛撵大象3272 天前
MySQL 8.0 迁移后 SQL 变慢:执行计划里 3 类被忽略的成本差异
android·数据库·sql·mysql·优化器·执行计划
.痞老板.2 天前
mysql初阶--数据类型
android·数据库·mysql
Risehuxyc2 天前
MySQL密码插件
数据库·mysql
.痞老板.3 天前
mysql初阶--数据库基础
数据库·mysql
城北徐宫3 天前
MySQL约束条件一览
数据库·mysql