设为首页 加入收藏

TOP

sql的left join 实例与语法用法
2011-06-12 21:32:47 来源: 作者: 【 】 浏览:61次 评论:0

sql的left join 实例与语法用法

左联接和类似的权利JOIN操作可以在任何的FROM子句用于组合两个表中的记录。左JOIN操作用于创建一个左外连接,包括从两个表中第一个(左)的所有记录,即使没有匹配在第二记录值。右JOIN操作用于创建一个右外连接,包括从第二(右的所有记录两个表),即使没有匹配的第一条记录的值。
 
虽然LEFT JOIN或RIGHT JOIN操作可以内部的内蒙古嵌套加入,反之则不然。内部联接操作无法在一个左嵌套JOIN或RIGHT JOIN。
 
使用表'员工'和'工程',左JOIN操作将返回所有雇员,不论是否他们目前从事的任何项目,但项目名称如适用的名字:


SELECT Employee.username, Project.ProjectName
FROM Employee LEFT JOIN Project
ON Employee.EmployeeID = Project.EmployeeID;
 

使用相同的表,正确的JOIN操作将返回所有项目的名称,是否不属于任何雇员对他们目前的工作,但在适用情况下与员工的名字

SELECT Employee.username, Project.ProjectName
FROM Employee RIGHT JOIN Project
ON Employee.EmployeeID = Project.EmployeeID;
 


例表a
aid adate
1 a1
2 a2
3 a3
表b
bid bdate
1 b1
2 b2
4 b4
两个表a,b相连接,要取出id相同的字段
select * from a inner join b on a.aid = b.bid这是仅取出匹配的数据.
此时的取出的是:
1 a1 b1
2 a2 b2
那么left join 指:
select * from a left join b on a.aid = b.bid
首先取出a表中所有数据,然后再加上与a,b匹配的的数据
此时的取出的是:
1 a1 b1


SQL LEFT JOIN 关键字
LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
LEFT JOIN 关键字语法
SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name
 注释: 在某些数据库教程中, LEFT JOIN 称为 LEFT OUTER JOIN。
 

 

原始的表 (用在例子中的):
"Persons" 表: Id_P LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing
"Orders" 表: Id_O OrderNo Id_P
1 77895 3
2 44678 3
3 22456 1
4 24562 1
5 34764 65

左连接(LEFT JOIN)实例
现在,我们希望列出所有的人,以及他们的定购 - 如果有的话。 您可以使用下面的 SELECT 语句: SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons LEFT JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName
 结果集: LastName FirstName OrderNo
Adams John 22456
Adams John 24562
Carter Thomas 77895
Carter Thomas 44678
Bush George  
LEFT JOIN 关键字会从左表 (Persons) 那里返回所有的行,即使在右表 (Orders) 中没有匹配的行。
2 a2 b2
3 a3 空字符
同样的也有right join
指的是首先取出b表中所有数据,然后再加上与a,b匹配的的数据
此时的取出的是:
1 a1 b1
2 a2 b2
4 空字符 b4

您看到此篇文章时的感受是:
Tags: 责任编辑:administrator
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇mysql海量数据分页优化代码 下一篇MYSQL的事务处理主要有两种方法:

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

相关栏目

最新文章

图片主题

热门文章

推荐文章

相关文章

广告位