码迷,mamicode.com
首页 > 数据库 > 详细

笔记-Microsoft SQL Server 2008技术内幕:T-SQL语言基础-03 联接查询

时间:2015-06-21 01:55:19      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

联接有三种基本类型:交叉联接、内联接和外联接。交叉联接只有一个步骤——笛卡尔积;内联接有两个步骤——笛卡尔积、过滤;外联接有三个步骤——笛卡尔积、过滤、添加外部行。

内联接

代码:

SELECT E.empid, E.firstname, E.lastname, O.orderid
FROM HR.Employees AS E
  JOIN Sales.Orders AS O
    ON E.empid = O.empid;

 另一种写法:

SELECT E.empid, E.firstname, E.lastname, O.orderid
FROM HR.Employees AS E, Sales.Orders AS O
WHERE E.empid = O.empid;

 上面这种写法类似于交叉联接。

外联接

在外联接中,要把一个表标记为“保留的”表,可以在表名之间使用关键字LEFT OUTER JOIN、RIGHT OUTER JOIN,以及FULL OUTER JOIN,其中OUTER关键字是可选的。LEFT表示左边的表的行是保留的,RIGHT表示右边的表的行是保留的,FULL则表示两边的表的行都保留。

SELECT C.custid, C.companyname, O.orderid
FROM Sales.Customers AS C
  LEFT OUTER JOIN Sales.Orders AS O
    ON C.custid = O.custid;

 

笔记-Microsoft SQL Server 2008技术内幕:T-SQL语言基础-03 联接查询

标签:

原文地址:http://www.cnblogs.com/laixiancai/p/4591420.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!