多表查询
笛卡尔积:所有集合的组成情况。
内连接查询:
1、隐式查询: select 列名
from 表1,表2
where 条件
2、显示查询: select 列名
from 表1
[inner] join 表2
on 条件
两表的交集。
外连接查询:
1、 左外连接: select 列名
from 表1
left [outer] join 表2
on 条件
左边表的所有部分和两表的交集。
2、 右外连接: select 列名
from 表1
right [outer] join 表2
on 条件
右边表的所有部分和两表的交集。
子查询:
概念:查询中嵌套查询
1、单行单列:子查询可以作为条件,使用运算符去判断。 运算符: > >= < <= =
select * from student where math = ( select max(math) from student );
2、 多行单列:子查询可以作为条件,使用运算符in来判断。(in为集合)
select * from student where name in ( select name from dept where id in (‘财务部’ , ’销售部’) );
3、 多行多列:子查询可以作为一张虚拟表参与查询(date值可以进行字符串比较)
select * from dept d, (select * from emp where join_date>'2011-11-11') t where d.id=t.dept_id
|
|