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;
相关推荐
苏琢玉1 小时前
收藏版:Phinx 数据库迁移完全指南
数据库·mysql·php
七分小魔女2 小时前
MySQL查看服务器/客户端版本
服务器·数据库·mysql
fusugongzi2 小时前
mysql管理语句
数据库·mysql
猫梦www2 小时前
关于Mysql的学习三(事务)
学习·mysql
寒山李白2 小时前
MySQL 下载、安装及配置教程(Msi安装)
数据库·mysql·msi
会飞的架狗师2 小时前
【MySQL体系】第7篇:MySQL锁机制深度解析与实战
数据库·mysql
凉栀お_2 小时前
MySQL相关知识查询表中的内容(第三次作业)
数据库·mysql
狂盗一枝梅3 小时前
MySql8.0公共表表达式『CTE』
mysql·cte
凡间客3 小时前
MySQL Galera Cluster部署
数据库·mysql
siriuuus4 小时前
MySQL 的 MyISAM 与 InnoDB 存储引擎的核心区别
mysql·1024程序员节