- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库表间连接讲解
大多数人一般写多表查询会这样写select * from tbA ,tbB ?没有用到JOIN关键字,太Low了,官网标准建议是用JOIN明确表间的关系,下面具体来讲。
连接类型:
交叉联接?得到所连接表的所有组合 (笛卡儿集)cross join
内联接得到连接表的满足条件的记录组合inner join? on
外联接(左、右)得到一个表的所有行,及其余表满 足连接条件的行?full | left | right? outer join? on
交叉联接
在这类联接的结果集内,两个表中每两个可能成对的行占一行。
但是如果在交叉联接中加入where 子句就相当与是内联接
例:
MySQL
1
2
3
4
5SELECT title, pub_name
?
?????? FROM titles Cross JOIN publishers
?
?????? Where titles.pub_id = publishers.pub_id这就相当于我们一最开始的写法:SELECT title, pub_name ?FROM titles ,?publishers Where?titles.pub_id = publishers.pub_id
执行过程:
内联接
仅显示两个联接表中的匹配行的联接。(这是查询设计器中的默认联接类型。)
例:
MySQL
1
2
3
4
5SELECT title, pub_name
?
?????? FROM titles INNER JOIN publishers
?
?????? ON titles.pub_id = publishers.pub_id执行过程:
左向外联接
包括第一个命名表(”左”表,出现在 JOIN 子句的最左边)中的所有行。不包括右表中的不匹配行。
例:
MySQL
1
2
3
4
5SELECT titles.title_id,titles.title,publishers.pub_name
?
????????FROM titles LEFT OUTER JOIN publishers
?
????????ON titles.pub_id = publishers.pub_id右向外联接
包括第二个命名表(”右”表,出现在 JOIN 子句的最右边)中的所有行。不包括左表中的不匹配行。
例:
MySQL
1
2
3
4
5SELECT titles.title_id, titles.title,publishers.pub_name
?
??FROM titles RIGHT OUTER JOIN publishers
?
????????ON titles.pub_id = publishers.pub_id执行过程:
完整外部联接
包括所有联接表中的所有行,不论它们是否匹配。
例:
MySQL
1
2
3
4
5SELECT titles.title_id, titles.title,??publishers.pub_name
?
????????FROM titles FULL OUTER JOIN publishers
?
????????ON titles.pub_id = publishers.pub_id练习:
此后用到的用例数据库是SQL2008里面的
用例数据库文件:链接: HYPERLINK /s/1qW1QxA0 \t _blank /s/1qW1QxA0?密码:dqxx
MySQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36/*返回值2007年2月12日下过订单的客户,以及他们的订单。同时也返回在2007年2月12日没有下过订单的客户。
涉及到表:Sales.Customers表和Sales.Orders表。
期望的输出(按简略格式显示):
*/
custid??????companyname???? orderid???? orderdate
----------- --------------- ----------- -----------------------
???????? Customer AHPOP??NULL????????NULL
???????? Customer AHXHT??NULL????????NULL
???????? Customer AZJED??NULL????????NULL
???????? Customer BSVAR??NULL????????NULL
???????? Customer CCFIZ??NULL????
您可能关注的文档
- 教科版八年级物理下册科学探究:浮力的大小_课件.ppt
- 教科版思想品德八年级上册复习课件.ppt
- 教科版科学六年级下册《-控制铁生锈的速度》.ppt
- 教练员执教身份标识.docx
- 教育学16章德育工作.ppt
- 教科版八年级物理下册《大气压强》(上课用)PPT课件.ppt
- 教育学、心理学复习资料1.docx
- 教育学笔记标注版.docx
- 教科版语文二年级下册多音字.ppt
- 教科版物理八上5.4《地球上的水循环》.ppt
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)