5.6.2 内连接

内连接也称为简单连接,它会把两个或多个表进行连接,只能查询出匹配的记录,不匹配的记录将无法查询出来。这种连接查询是平时最常用的查询。内连接中最常用的就是等值连接和不等值连接。

1.等值连接

连接条件中使用“=”(等号)连接两个条件列表。

【示例36】等值连接

查询出PRODUCTINFO表和CATEGORYINFO表中产品类型编码一致的数据。执行以下脚本:


SELECT p.productname,p.productprice,c.categoryname

FROM productinfo p,categoryinfo c WHERE p.category=c.categoryid;



SELECT p.productname,p.productprice,c.categoryname

FROM productinfo p INNER JOIN categoryinfo c ON p.category=c.categoryid;


这两段脚本的功能是一样的。只是写法不一样。

【执行效果】

执行效果见图5.36。

5.6.2 内连接 - 图1

图 5.36 等值连接

2.不等值连接

不等值连接就是指连接条件中使用“>”、“>=”、“<=”、“<”、“!=”、“<>”、"BETWEEN…AND…"、"IN"等连接两个条件列表,但这种方式通常需要和其他等值运算一起使用,否则检索出来的数据很可能没有实际意义。

【示例37】不等值连接

演示不等值连接的使用方式,执行以下脚本:


SELECT p.productname,p.productprice,c.categoryname

FROM productinfo p INNER JOIN categoryinfo c ON p.category IN c.categoryid;



SELECT p.productname,p.productprice,c.categoryname

FROM productinfo p,categoryinfo c WHERE p.category IN c.categoryid;


【执行效果】

执行效果见图5.37。

5.6.2 内连接 - 图2

图 5.37 不等值连接

内连接中的关键字"INNER JOIN"可以直接写成"JOIN",系统会把"JOIN"识别成内连接。但是"ON"关键字不能省略。