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.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.37 不等值连接
内连接中的关键字"INNER JOIN"可以直接写成"JOIN",系统会把"JOIN"识别成内连接。但是"ON"关键字不能省略。