(隐式内连接实现)
select emp.name 姓名 ,dept.name 部门姓名
from emp,dept where emp.dept_id=dept.id;
(隐式内连接实现)
select emp.name 姓名,dept.name 部门姓名
from dept inner join emp on dept.id = emp.dept_id;
外连接:
定义:通过共同的键将两个或多个表中的数据进行连接,并且返回
所有匹配的行以及未匹配的行。
(左外连接) --- 常用 , 推荐
select 需求数据
from 需要查询所有数据的表 left join 另一张表 on 关系条件
where 其他需求
(右外连接)
select 需求数据
from 另一张表 right join 需要查询所有数据的表 on 关系条件
where 其他需求
子查询
______________________________________标量子查询______________________________
select *
from emp
where entrydate > (select entrydate
from emp
where name = '方东白')
order by entrydate;
______________________________________列子查询______________________________
select *
from emp
where dept_id in (select id
from dept
where dept.name in ('教研部', '咨询部'));
______________________________________行子查询______________________________
select *
from emp
where (entrydate, job) = (select entrydate, job
from emp
where name = '韦一笑');
______________________________________表子查询______________________________
select e.name 员工姓名 ,d.name 部门名称
from (select *
from emp
where entrydate >'2006-01-01') e left join dept d on e.dept_id=d.id;