通灵神探 2:请教JOIN ,LEFT JOIN ,ALL JOIN 等的区别和联系 - MS-SQL Server / 基础类
来源:百度文库 编辑:九乡新闻网 时间:2024/04/30 05:20:49
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行举例如下:--------------------------------------------表A记录如下:aID aNum1 a200501112 a200501123 a200501134 a200501145 a20050115表B记录如下:bID bName1 20060324012 20060324023 20060324034 20060324048 2006032408--------------------------------------------1.left joinsql语句如下:select * from Aleft join Bon A.aID = B.bID结果如下:aID aNum bID bName1 a20050111 1 20060324012 a20050112 2 20060324023 a20050113 3 20060324034 a20050114 4 20060324045 a20050115 NULL NULL(所影响的行数为 5 行)结果说明:left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).B表记录不足的地方均为NULL.--------------------------------------------2.right joinsql语句如下:select * from Aright join Bon A.aID = B.bID结果如下:aID aNum bID bName1 a20050111 1 20060324012 a20050112 2 20060324023 a20050113 3 20060324034 a20050114 4 2006032404NULL NULL 8 2006032408(所影响的行数为 5 行)结果说明:仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.--------------------------------------------3.inner joinsql语句如下:select * from Ainnerjoin Bon A.aID = B.bID结果如下:aID aNum bID bName1 a20050111 1 20060324012 a20050112 2 20060324023 a20050113 3 20060324034 a20050114 4 2006032404结果说明:很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.--------------------------------------------注:LEFT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。语法:FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2说明:table1, table2参数用于指定要将记录组合的表的名称。field1, field2参数指定被联接的字段的名称。且这些字段必须有相同的数据类型及包含相同类型的数据,但它们不需要有相同的名称。compopr参数指定关系比较运算符:"=", "<", ">", "<=", ">=" 或 "<>"。如果在INNER JOIN操作中要联接包含Memo 数据类型或 OLE Object 数据类型数据的字段,将会发生错误.
请教JOIN ,LEFT JOIN ,ALL JOIN 等的区别和联系 - MS-SQL Server / 基础类
take part in与join的区别
join me
Join Me In Death
example of join another thread
join as you go afghans 钩毛毯-
Machines to join fight against gutter oil
Belgians join Slutwalk rally to protest again...
Richest man reportedly to join Party leadersh...
Richest man reportedly to join Party leadersh
Chinese leaders join panel discussions with national legislators
Chinese leaders join gov't work report delibe...
Applied Materials, IME Join Hands For Advanced Packaging Centre
Russian Sub To Join NATO Exercise for 1st Tim...
Foreigners to join China's social insurance p...
MYSQL和MS SQL SERVER对比分析表
MS Sql Server恢复技术
remain和left的区别
javascript中字符串连接时用Array.join()替换 string = "xx",换来几十倍的速度提升
oracle通过透明网关,创建dblink,访问ms sql server和其他数据库 -...
大学毕业后拉开差距的原因(转) - MS-SQL Server / 非技术版
如何将本地的MS SQL Server数据导入到远程服务器上
MS SQL入门基础:快照复制
MS SQL 数据库备份和还原的几种方法