SQL 连接(JOIN) | 菜鸟教程
文章推薦指數: 80 %
SQL 连接(JOIN) SQL join 用于把来自两个或多个表的行结合起来。
下图展示了LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的7 种用法。
SQL JOIN SQL JOIN 子句 ...
菜鸟教程--学的不仅是技术,更是梦想!
首页
HTML
CSS
JavaScript
Vue
Bootstrap
NodeJS
Python3
Python2
Java
C
C++
C#
Go
SQL
Linux
jQuery
本地书签
首页
HTML
CSS
JS
本地书签
Search
Python3教程
Python2教程
Vue3教程
vue2教程
Bootstrap3教程
Bootstrap4教程
Bootstrap5教程
Bootstrap2教程
SQL教程
SQL教程
SQL简介
SQL语法
SQLSELECT
SQLSELECTDISTINCT
SQLWHERE
SQLAND&OR
SQLORDERBY
SQLINSERTINTO
SQLUPDATE
SQLDELETE
SQL高级教程
SQLSELECTTOP
SQLLIKE
SQL通配符
SQLIN
SQLBETWEEN
SQL别名
SQL连接(JOIN)
SQLINNERJOIN
SQLLEFTJOIN
SQLRIGHTJOIN
SQLFULLJOIN
SQLUNION
SQLSELECTINTO
SQLINSERTINTOSELECT
SQLCREATEDATABASE
SQLCREATETABLE
SQL约束
SQLNOTNULL
SQLUNIQUE
SQLPRIMARYKEY
SQLFOREIGNKEY
SQLCHECK
SQLDEFAULT
SQLCREATEINDEX
SQLDROP
SQLALTER
SQLAutoIncrement
SQL视图
SQL日期
SQLNULL值
SQLNULL函数
SQL通用数据类型
SQLDB数据类型
SQL函数
SQL函数
SQLAVG()
SQLCOUNT()
SQLFIRST()
SQLLAST()
SQLMAX()
SQLMIN()
SQLSUM()
SQLGROUPBY
SQLHAVING
SQLEXISTS
SQLUCASE()
SQLLCASE()
SQLMID()
SQLLEN()
SQLROUND()
SQLNOW()
SQLFORMAT()
SQL快速参考
SQL主机
SQL总结
SQL别名
SQLINNERJOIN关键字
SQL连接(JOIN)
SQLjoin用于把来自两个或多个表的行结合起来。
下图展示了LEFTJOIN、RIGHTJOIN、INNERJOIN、OUTERJOIN相关的7种用法。
SQLJOIN
SQLJOIN子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。
最常见的JOIN类型:SQLINNERJOIN(简单的JOIN)。
SQLINNERJOIN从多个表中返回满足JOIN条件的所有行。
演示数据库
在本教程中,我们将使用RUNOOB样本数据库。
下面是选自"Websites"表的数据:
+----+--------------+---------------------------+-------+---------+
|id|name|url|alexa|country|
+----+--------------+---------------------------+-------+---------+
|1|Google|https://www.google.cm/|1|USA|
|2|淘宝|https://www.taobao.com/|13|CN|
|3|菜鸟教程|http://www.runoob.com/|4689|CN|
|4|微博|http://weibo.com/|20|CN|
|5|Facebook|https://www.facebook.com/|3|USA|
|7|stackoverflow|http://stackoverflow.com/|0|IND|
+----+---------------+---------------------------+-------+---------+
下面是"access_log"网站访问记录表的数据:
mysql>SELECT*FROMaccess_log;
+-----+---------+-------+------------+
|aid|site_id|count|date|
+-----+---------+-------+------------+
|1|1|45|2016-05-10|
|2|3|100|2016-05-13|
|3|1|230|2016-05-14|
|4|2|10|2016-05-14|
|5|5|205|2016-05-14|
|6|4|13|2016-05-15|
|7|3|220|2016-05-15|
|8|5|545|2016-05-16|
|9|3|201|2016-05-17|
+-----+---------+-------+------------+
9rowsinset(0.00sec)
请注意,"Websites"表中的"id"列指向"access_log"表中的字段"site_id"。
上面这两个表是通过"site_id"列联系起来的。
然后,如果我们运行下面的SQL语句(包含INNERJOIN):
实例
SELECTWebsites.id,Websites.name,access_log.count,access_log.dateFROM
WebsitesINNERJOINaccess_logONWebsites.id=access_log.site_id;
执行以上SQL输出结果如下:
不同的SQLJOIN
在我们继续讲解实例之前,我们先列出您可以使用的不同的SQLJOIN类型:
INNERJOIN:如果表中有至少一个匹配,则返回行
LEFTJOIN:即使右表中没有匹配,也从左表返回所有的行
RIGHTJOIN:即使左表中没有匹配,也从右表返回所有的行
FULLJOIN:只要其中一个表中存在匹配,则返回行
SQL别名
SQLINNERJOIN关键字
3篇笔记
写笔记
#0 Roam 275***[email protected]首先,连接的结果可以在逻辑上看作是由SELECT语句指定的列组成的新表。
左连接与右连接的左右指的是以两张表中的哪一张为基准,它们都是外连接。
外连接就好像是为非基准表添加了一行全为空值的万能行,用来与基准表中找不到匹配的行进行匹配。
假设两个没有空值的表进行左连接,左表是基准表,左表的所有行都出现在结果中,右表则可能因为无法与基准表匹配而出现是空值的字段。
这部分主要涉及的是表连接的逻辑问题,教程主讲语法的话这部分确实需要自己再去搜资料
来源:《数据库系统原理教程》,王珊,陈红编著,P86
Roam Roam 275***[email protected]年前(2017-09-12)
#0 悠闲的某某某 jim***[email protected]得到的结果数:
innerjoin<=min(leftjoin,rightjoin)
fulljoin>=max(leftjoin,rightjoin)
当innerjoin
--MySQL实现完全外部链接,要使用UNION将一个左链接、和一个右链接去重合并。
SELECTa.*,b.*
FROM表1aLEFTJOIN表2b
ONa.unit_NO=b.unit_NO
UNION
SELECTa.*,b.*
FROM表1aRIGHTJOIN表2b
ONa.unit_NO=b.unit_NO;辣条 辣条 421***[email protected]年前(2020-09-18)
点我分享笔记
取消
分享笔记
昵称昵称(必填)
邮箱邮箱(必填)
引用地址引用地址
分类导航
HTML/CSSHTML教程HTML5教程CSS教程CSS3教程Bootstrap3教程Bootstrap4教程Bootstrap5教程FontAwesome教程Foundation教程JavaScriptJavaScript教程HTMLDOM教程jQuery教程AngularJS教程AngularJS2教程Vue.js教程Vue3教程React教程TypeScript教程jQueryUI教程jQueryEasyUI教程Node.js教程AJAX教程JSON教程Echarts教程Highcharts教程Google地图教程服务端Python教程Python2.x教程Linux教程Docker教程Ruby教程Java教程C教程C++教程Perl教程Servlet教程JSP教程Lua教程Rust教程Scala教程Go教程PHP教程Django教程Zookeeper教程设计模式正则表达式Maven教程Verilog教程ASP教程AppML教程VBScript教程数据库SQL教程MySQL教程PostgreSQL教程SQLite教程MongoDB教程Redis教程Memcached教程数据分析Python教程NumPy教程Pandas教程Matplotlib教程Scipy教程R教程Julia教程移动端Android教程Swift教程jQueryMobile教程ionic教程Kotlin教程XML教程XML教程DTD教程XMLDOM教程XSLT教程XPath教程XQuery教程XLink教程XPointer教程XMLSchema教程XSL-FO教程SVG教程ASP.NETASP.NET教程C#教程WebPages教程Razor教程MVC教程WebForms教程WebServiceWebService教程WSDL教程SOAP教程RSS教程RDF教程开发工具Eclipse教程Git教程Svn教程Markdown教程网站建设HTTP教程网站建设指南浏览器信息网站主机教程TCP/IP教程W3C教程网站品质
Advertisement
反馈/建议
在线实例
·HTML实例
·CSS实例
·JavaScript实例
·Ajax实例
·jQuery实例
·XML实例
·Java实例
字符集&工具
·HTML字符集设置
·HTMLASCII字符集
·JS混淆/加密
·PNG/JPEG图片压缩
·HTML拾色器
·JSON格式化工具
·随机数生成器
最新更新
·
C#语言测验
·
C++测验
·
C语言测验
·
Git测验
·
计算机中英文术...
·
Julia文件(File...
·
Julia日期和时间
站点信息
·
意见反馈
·
免责声明
·
关于我们
·
文章归档
关注微信
Copyright©2013-2022菜鸟教程
runoob.comAllRightsReserved.备案号:闽ICP备15012807号-1
微信关注
延伸文章資訊
- 1是中式英語...「join」的4個錯誤用法別再犯
- 2join with中文, join with是什麼意思 - 查查綫上辭典
join with中文:和……結合…,點擊查查權威綫上辭典詳細解釋join with的中文翻譯,join with的發音,音標,用法和例句等。
- 3join - 用法_例句 - 海词词典
join作「連接」解時,可用作及物動詞。這時主語多為人,賓語是「被連接」的兩個客體,也可以其中一個客體作賓語,而以to引出第 ...
- 4join 用法, 例句, 詳解 - 官方英文測驗題庫中心
想弄明白上面有關join 用法的句子錯在哪裏,首先要弄清這個問題, 必須懂得英語的所謂持續動詞(durative verbs) 和瞬間動詞(momentary verbs) 。
- 5Python join()用法及代碼示例- 純淨天空
用法: string_name.join(iterable) string_name:It is the name of string in which joined elements of i...