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


    

posted @ 2020-04-30 20:07  jasmineTang  阅读(164)  评论(0)    收藏  举报