大家好,欢迎来到IT知识分享网。
数据库基础-连接详解
为什么需要连接?
在实际应用中,数据都是从多个表连查询出来,为了便于我们查询,我们需要将各个表连接起来
连接的分类
| 类型 | 说明 |
|---|---|
| 谓词连接 | 在SQL中一般在where条件语句里面通过,表与表之前的 |
| 通过join关键字 | T-SQL扩展了以join关键字指定连接的表示方式,使得表的连接运算能力有所增强。(我们主要来看join连接)。join连接又分内连接(inner),与外连接(outer)。SQL server默认内连接 |
join内连接
select * from xsb join cjb on xsb.学号=cjb.学号 join kcb on kcb.课程号=cjb.课程
join外连接
left outer join(左外连接)
说明:结果表中除了包括满足连接条件的行外,还包括左表的所有的行,没有值的统统系统会设为null
实例:
select * from xsb left outer join cjb on xsb.学号=cjb.学号
结果:没有考试的,没有选择的课程的,全部被设为null值
right outer join(右外连接)
在这里插入代码片
cross join(交叉连接==笛卡尔积;)
说明:交叉连接实际上将两个表进行笛卡尔积运算,结果表是由第一个表的每一行与第二个表的每一行拼接后形成的表,因此表的行数等于两个表的行数之积
select count(*) from xsb; -- 查询到xsb表的行数为23 select count(*) from cjb; -- 查询到cjb表的行数为42 -- 进行笛卡尔积运算(交叉连接) select count(*) from xsb cross join cjb -- 查询到的结果行数为966
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/105739.html
