数据库的多表联结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库的多表联结
数据库的联结分为三种
1.内联结:内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分三种:
1>等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。
2>不等连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括>、>=、<=<、!>、!<和<>。
3>自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。
2.外联结:外连接,返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接或左连接))、右表(右外连接或右连接)或两个边接表(全外连接)中的所有数据行。
3.交叉联结:交叉连接不带WHERE 子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数例,titles表中有6类图书,而publishers表中有8家出版社,则下列交叉连接检索到的记录数将等于6*8=48行。
举个例子简单说明下:
创建两张表student、gread
student gread
id name id score
1 aa 1 60
2 bb 2 80
3 cc
内联结:select s.id,,g.score from student s inner join gread g on s.id=g.id
结果为: id name score
1 aa 60
2 bb 80
左外联结:select s.id,,g.score from student s left join gread g on s.id=g.id
结果为: id name score
1 aa 60
2 bb 80
3 cc null
右外联结:select s.id,,g.score from student s right join gread g on s.id=g.id
结果为: id name score
1 aa 60
2 bb 80
交叉联结:select type,pub_name from titles cross join publishers order by type
想了解更多到狗刨学习网