联接——内联接
内联接要应用两个逻辑查询处理步骤:它首先像交叉联接一样,对两个输入表进行笛卡尔积运算;然后根据用户指定的谓词对结果行进行过滤。和交叉联接一样,内联接也有两种标准语法:
ANSI SQL-92:
需在两个表名之间指定 INNER JOIN 关键字。INNER 关键字是可选的,因为内联接是默认的联接方式,所以可以只单独指定JOIN关键字。用于对行进行过滤的谓词是在一个称为ON子句的特别设计的语句中指定的,该谓词也称为联接条件。
SELECT E.empid,O.orderid FROM dbo.Employees as E
INNER JOIN dbo.Orders AS O
ON E.empid=O.empid;
ANSI SQL-89:
和交叉联接类似,内联接也可以用 ANSI SQL-89语法来表达。可以像交叉联接那样在表名之羊放一个逗号,在查询的 WHERE 子句中定义联接条件
SELECT E.empid,O.orderid FROM dbo.Employees AS E,dbo.Orders AS O
WHERE E.empid=O.empid
注意 ANSI SQL-89 语法没有ON子句。