mysql(3)-多表查询-子查询-关联查询
1.子查询
2.关联查询
1.子查询两种情况:
1.1 where 后面跟了一堆的语句
1.2from 后面两表做了拼接
先建两张表
create table dept(
id int(10) not null primary key auto_increment,
deptName varchar(50),
deptLeader varchar(50)
};
create table emp(
id int(10) not null primary key auto_increment,
name varchar(50),
salary decimal(10,2),
deptNo int(10),
constraint foreign_key_deptNo foreign key (deptNo) REFERENCES dept(id)
};
查询部门信息 :
select id from dept where deptName="dept1"
select * from emp where deptNo=3
合并成一条就是
select * from emp where deptNo in (select id from dept where deptName like "dept1")此处用in,like取代两个=
2.关联查询
1.inner join
2.left join 显示全左边的表
3.right join显示全右边的表
A ***JOIN B ON A.字段=B.字段
1.inner join
查询:两表中的相同字段dept.id=emp.deptNo
select * from dept inner join emp on dept.id=emp.deptNo
2.left join:
3.right join
select * from emp right join dept on dept.id=emp.deptNo

浙公网安备 33010602011771号