员工表
部门ID
部门表
部门ID
select deptno from emp where id=20;
select name from emp;
关联查询的关联方式
1.完全关联
select table.column, table.column
from table1,table2 where table1.column1 = table2.column2;
select dname from dept,emp
where dept.deptno=emp.deptno
and emp.ename like '%J';
一 表关联查询
1.表的关联分两类
有关系的关联
无关系的关联
2.表的有关系的关联(内关联)
where 指定关联关系
表1.字段=表2.字段 and 表2.字段=表3.字段
有关系关联:
通过字段关系,把多张表合并在一起.
select emp.id,first_name,name from emp,dep
where emp.dep_id=dept.id;
//
select emp.id,firs_name,name from emp
inner join dept on (emp.dept_id=dpt.id);
选择字段:*
字段列表
表.字段列表
表.*,字段
3.外关联:(outer join)
左关联(left outer join) 以哪个表字段为主而定义
右关联(right outer join)
完全关联(full outer join)
外关联与内关联语法
delete from s_emp where id>25;
select s_emp.id,first_name,s_dept.id,name from s_emp,s_dept
//where s_emp.dept_id=s_dept.id(+);表示把这个表关联到左边
right outer joins_dept on (s_emp.dept_id=s_dpt.id);
//where s_emp.dept_id(+)=s_dept.id;
left outer joins_dept on (s_emp.dept_id=s_dpt.id);
full outer joins_dept on (s_emp.dept_id=s_dpt.id);
4.自关联:
select e.id,e.first_name,m.first_name from s_emp as e,s_emp as m
where e.manager_id=m.id;