您的位置 首页 > 数码极客

「多表关联查询」mysql多表关联查询?

MySQL的多表查询分两种:

  • 连表查询
  1. 内连接查询
  2. 左连接查询
  3. 右连接查询
  4. 全连接查询
  • 子查询

子查询就是把一个表查询出来的数据当做另外一个查询条件

例子:

现在创建两个表,员工表和部门表

CREATE TABLE emp(id int PRIMARY KEY AUTO_INCREMENT, name VARCHAR(16) NOT NULL, dep_id int)ENGINE = INNODB DEFAULT CHARSET='UTF8'; CREATE TABLE dep(id INT PRIMARY KEY AUTO_INCREMENT , name VARCHAR(32))ENGINE = INNODB DEFAULT CHARSET ='UTF8';

插入数据:

insert into emp(name,dep_id) values('张三',300),('李四’,301); insert into dep(id,name) values(300,'人力部’),(301,'技术部');

题目:查询平均年龄在30岁以上的部门名称

按照连表查询:

SELECT dep.name from emp inner join dep on dep.id =emp.dep_id group by dep.name having avg)>30;

按照子查询:

1.先查询部门名称 SELECT dep.name from dep ; 2.再查询员工的平均年龄的dep_id; select emp.dep_id from emp group by dep_id having avg)>30; 3.再筛选部门名称中的id与员工的dep_id一致 SELECT dep.name from dep where id in (select emp.dep_id from emp group by dep_id having avg)>30);

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“多表关联查询,mysql多表关联查询,多表关联查询优化,数据库多表关联查询”边界阅读