数据库内连接、外连接

数据库内连接、外连接

ID:16188412

大小:15.59 KB

页数:3页

时间:2018-08-08

数据库内连接、外连接_第1页
数据库内连接、外连接_第2页
数据库内连接、外连接_第3页
资源描述:

《数据库内连接、外连接》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据库内连接、外连接内连接外连接交叉连接笛卡尔积首先划分一下,连接分为三种:内连接、外连接、交叉 连接内连接(INNERJOIN):分为三种:等值连接、自然连接、不等连接外连接(OUTERJOIN):分为三种:左外连接(LEFTOUTERJOIN或LEFTJOIN)右外连接(RIGHTOUTERJOIN或RIGHTJOIN)全外连接(FULLOUTERJOIN或FULLJOIN)交叉连接(CROSSJOIN):没有WHERE子句,它返回连接表中所有数据行的笛卡尔积1.a.并集UNION:SELECTcolumn

2、1,column2FROM table1UNIONSELECTcolumn1,column2FROMtable2b.交集JOIN:SELECT*FROMtable1ASaJOIN table2bONa.name=b.namec.差集NOTIN:SELECT*FROMtable1WHEREname NOTIN(SELECTnameFROMtable2)d.笛卡尔积CROSSJOIN:SELECT*FROMtable1 CROSSJOINtable2(与SELECT*FROM table1,table2相同)2.S

3、QL中的UNION与UNIONALL的区别是,前者会去除重复 的条目,后者会仍旧保留。a.UNION:SQLStatement1UNIONSQLStatement2b.UNIONALL:SQLStatement1UNIONALLSQL Statement23.SQL中的各种JOIN,SQL中的连接可以分为内连接,外 连接,以及交叉连接(即是笛卡尔积)a.交叉连接CROSSJOIN:如果不带WHERE条件子句,它将会返回被连接的两个表 的笛卡尔积,返回结果的行数等于两个表行数的乘积; 举例SELECT*FROMt

4、able1CROSSJOINtable2等同于SELECT*FROMtable1,table2一般不建议使用该方法,因为如果有WHERE子句的话, 往往会先生成两个表行数乘积的行的数据表然后才根据 WHERE条件从中选择。因此,如果两个需要求交际的表 太大,将会非常非常慢,不建议使用。b.内连接INNERJOIN:如果仅仅使用SELECT*FROMtable1INNERJOIN table2没有指定连接条件的话,和交叉连接的结果一 样。但是通常情况下,使用INNERJOIN需要指定连接 条件。--等值连接(=号

5、应用于连接条件,不会去除重复的列) SELECT*FROMtable1ASaINNERJOINtable2ASb ona.column=b.column--不等连接(>,>=,<,<=,!>,!<,<>)例如SELECT* FROMtable1ASaINNERJOINtable2ASbon a.column<>b.column--自然连接(会去除重复的列)c.外连接OUTERJOIN:首先内连接和外连接的不同之处:内连接如果没有指 定连接条件的话,和笛卡尔积的交叉连接结果一样,但 是不同于笛卡尔积的地方是,没有

6、笛卡尔积那么复杂地 要先生成行数乘积的数据表,内连接的效率要高于笛卡 尔积的交叉连接。指定条件的内连接,仅仅返回符合 连接条件的条目。外连接则不同,返回的结果不仅包含 符合连接条件的行,而且包括左表(左外连接时),右表 (右连接时)或者两边连接(全外连接时)的所有数据行1)左外连接LEFT[OUTER]JOIN:显示符合条件的数据行,同时显示左边数据表不符合 条件的数据行,右边没有对应的条目显示NULL例如 SELECT*FROMtable1ASaLEFT[OUTER]JOINON a.column=b.col

7、umn 2)右外连接RIGHT[OUTER]JOIN:显示符合条件的数据行,同时显示右边数据表不符合 条件的数据行,左边没有对应的条目显示NULL例如 SELECT*FROMtable1ASaRIGHT[OUTER]JOINON a.column=b.column 3)全外连接:显示符合条件的数据行,同时显示左右不符合条件的数 据行,相应的左右两边显示NULL

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。