内连接是指,当且仅当连接条件成立时,才在结果集中产生一条连接记录。当左表中某记录根据连接条件在右表中没有匹配的记录时,该记录便被忽略。一般分为等值连接、不等连接、自连接等。
1.等值连接
等值连接使用等于“=”运算符,在查询结果中列出所连接表中的所有列。
例如,EBuy数据库应用系统中商品类别表(commodity_category)和商品信息表(commoditys),我们需要显示所有商品的类别名称及该类别的商品在商品表里已存在的商品名称。如示例代码6-8,执行结果如图6-6所示。从图6-6可以看到,在不同表中的数据,经过连接这两个表后查询,数据一起输出。以上等值连接查询也可以使用WHERE子句实现,其查询结果是一样的,如示例代码6-9,执行结果如图6-7所示。
图6-6 等值连接查询
图6-7 WHERE实现内连接查询
2.不等连接
不等连接中使用除了等于运算符外的比较运算符,包括>、>=、<、<=、!>、!<、<>等。(www.xing528.com)
例如,在EBuy应用系统的customer表(客户信息表)中查询CusID不等于orders表中CusID的客户号和客户姓名。如示例代码6-10,执行结果如图6-8所示。
3.自连接
自连接是SQL语句中经常要用的连接方式,用于建立单个表内的关联,使用自连接可以将自身表的一个镜像当作另一个表来对待,从而能够得到一些特殊的数据。自连接的本意就是将一张表看成多张表来做连接。
假如,需要查询EBuy应用系统中,orders表(订单表)中单价为100的订单部分信息(CusID—客户代码、ComID—商品代码、Amount—商品数量、PayAmount—付款金额),如示例代码6-11,执行结果如图6-9所示。
图6-8 不等连接查询
图6-9 自连接查询
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。