读书人

sql的联接介绍(自然连接内连接外

发布时间: 2012-09-19 13:43:54 作者: rapoo

sql的连接介绍(自然连接,内连接,外连接)

oracle:

自然连接(natural join):(natural join在sql server 中不支持)

自然连接自动判断相同名称的列,而后形成匹配。缺点是,虽然可以指定查询结果包括哪些列,但不能人为地指定哪些列被匹配。另外,自然连接的一个特点是连接后的结果表中匹配的列只有一个

eg:select * from t_employee natual join t_manager

类似:使用WHERE子句进行等值连接查询(sqk server)

eg:SELECT SNAME, S.DNAME, S.CNO, TNAME FROM STUDENT AS S, TEACHER AS T
WHERE S.CNO = T.CNO ORDER BY SNAME

内连接(inner join):在from子句中使用连接条件,列可以自行控制

eg:select * from t_employee e inner join t_manager m on e.employee_name = m.manager_name

外连接--左连接(left ( outer) join---on):

其中一个数据源指定为基表,另一个为附表,基表的数据一定存在,附表的数据出现依条件而定

select e.employee_id, e.employee_name, s.salary from t_employee (基表) e left outer join t_salary s(附表)on e.employee_id=s.employee_id

select e.employee_id, e.employee_name, s.salary from t_employee (基表) e , t_salary s(附表) where e.employee_id=s.employee_id(+)(附表)

外连接--右连接(right ( outer) join---on):

与左连接相对应

外连接--完全连接(full( outer) join---on):

是左连接和右连接的结合,即先执行一个左连接,然后执行一个右连接,最后将两个结果集执行union操作(union会消除重复记录)



读书人网 >SQL Server

热点推荐