join和union的区别

join和union的区别

ID:34723941

大小:55.13 KB

页数:4页

时间:2019-03-10

join和union的区别_第1页
join和union的区别_第2页
join和union的区别_第3页
join和union的区别_第4页
资源描述:

《join和union的区别》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1.JOIN和UNION区别 join是两张表做交连后里面条件相同的部分记录产生一个记录集, union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集。 JOIN用于按照ON条件联接两个表,主要有四种: INNERJOIN:内部联接两个表中的记录,仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。我理解的是只要记录不符合ON条件,就不会显示在结果集内。 LEFTJOIN/LEFTOUTERJOIN:外部联接两个表中的记录,并包含左表中的全部记录。如果左表的某记录在右表中没有匹配记录,则在相关联的结果集

2、中右表的所有选择列表列均为空值。理解为即使不符合ON条件,左表中的记录也全部显示出来,且结果集中该类记录的右表字段为空值。 RIGHTJOIN/RIGHTOUTERJOIN:外部联接两个表中的记录,并包含右表中的全部记录。简单说就是和LEFTJOIN反过来。 FULLJOIN/FULLOUTERJOIN:完整外部联接返回左表和右表中的所有行。就是LEFTJOIN和RIGHTJOIN和合并,左右两表的数据都全部显示。 JOIN的基本语法: Selecttable1.*FROMtable1JOINtable2ONtable1.id

3、=table2.id sql写法 内连接innerjoin: 复制代码代码如下:SELECTmsp.name,party.name FROMmspJOINpartyONparty=code 或 复制代码代码如下:SELECTmsp.name,party.name FROMmspinnerJOINpartyONparty=code 左连接leftjoin: 复制代码代码如下:SELECTmsp.name,party.name FROMmspLEFTJOINpartyONparty=code 右连接rightjoin: 复制代码代

4、码如下:SELECTmsp.name,party.name FROMmspRIGHTJOINpartyONmsp.party=party.code 全连接(fulljoin): 复制代码代码如下:SELECTmsp.name,party.name FROMmspFULLJOINpartyONmsp.party=party.code UNION运算符 将两个或更多查询的结果集组合为单个结果集,该结果集包含联合查询中的所有查询的全部行。UNION的结果集列名与UNION运算符中第一个Select语句的结果集的列名相同。另一个Sel

5、ect语句的结果集列名将被忽略。 其中两种不同的用法是UNION和UNIONALL,区别在于UNION从结果集中删除重复的行。如果使用UNIONALL将包含所有行并且将不删除重复的行。 UNION和UNIONALL的区别: union检查重复 unionall不做检查 比如select'a'unionselect'a'输出就是一行a 比如select'a'unionallselect'a'输出就是两行a 2.通过下面的例子,可以清晰的看出和理解2者的区别 实例1典型的二表连接演示 假定有两个表Table1和Table2,其包含

6、的列和数据分别如表1.1和表1.2所示。 表1.1Table1数据库表 ColumnAColumnBColumnCX1Y1Z1X2Y2Z2X3Y3Z3表1.2Table2数据库表ColumnAColumnDColumnEX1D1E1X2D2E2X3D3E3Table1和Table2表共有的列为ColumnA,如果通过ColumnA列的值连接Table1和Table2两个表,即连接条件为Table1.ColumnA=Table2.ColumnA,此时得到的连接结果如表1.3所示。表1.3连接Table1和Table2表Colum

7、nAColumnBColumnCColumnDColumnEX1Y1Z1D1E1X2Y2Z2D2E2X3Y3Z3D3E3上述连接过程的实现代码可表示如下:SELECT*FROMTable1JOINTable2ONTable1.ColumnA=Table2.columnA实例2典型的二表记录的UNION运算假定有两个表Table3和Table4,其包含的列和数据分别如表2.1和表2.2所示。表2.1Table3数据库表ColumnAColumnBColumnCX1Y1Z1X2Y2Z2X3Y3Z3表2.2Table4数据库表、Co

8、lumnAColumnDColumnEX4Y4Z4X5Y5Z5X6Y6Z6Table3表和Table4表具有相同的列结构,列数也要相同,列名可以不同,以第一个表的列名为新表的列名,因此可以使用UNION运算符连接两个表的记录集,得到的连接结果如表2.3所示。表2.3使用UNI

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

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

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