(2) left join
左边的为主表,右边为从属表
例如:select a.cust_id ,b.order_date,b.tot_ant
from customer a left join sales b
on (a.cust_id =b.cust_id and b.order_date>''1996/10/15'')
也可以写为
select a.cust_id,b.order_date,b.tot_ant
from custom a
left join (select * from sales where order_date>''1996/10/15'') b
on a.cust_id =b.cust_id
(3) right join
左边的表为从属表,右边的表为主表
(4) self join
self join 常用在同一表内不同数据间对同一列的比较
select a.emp_no,a.emp_name,b.emp_no,b.emp_name,a.date_hired
from employee a
join employee b
on (a.emp_no!=b.emp_no and a.date_hired=b.date_hired)
order by a.date_hired
这样会重复数据,只要加上一句 and a.emp_name>b.emp_name
(5) full join
不仅列出符合条件的数据,两边未符合join条件的数据也会一并列出。哪些未符合join条件的数据如果在select列中无法得到对应的值则填上null
select a.cust_id,b.tot_amt
from customer a full join sales b
on a.cust_id=b.cust_id作者: 陈汉维 时间: 2012-7-28 12:48
join的用法inner join,left join,right join,full join,具体是什么我也记不太清,我举几个我用到过的
一般我们常用的查询语句都这样写:
select a.name,b.name
from a,b
where a.age = b.age
这样等同于
select a.name,b.name
from a inner join b on a.age= b.age
其他的具体用法你可以到w3c官网看看,非常详细 http://www.w3school.com.cn/sql/sql_join_inner.asp 作者: 黑马杨凯 时间: 2012-7-29 10:35 本帖最后由 黑马杨凯 于 2012-7-29 14:18 编辑