当前位置:Gxlcms > 数据库问题 > 数据库操作-内连接外连接

数据库操作-内连接外连接

时间:2021-07-01 10:21:17 帮助过:31人阅读

语句如下: SELECT A.name, B.address FROM A LEFT JOIN B ON A.id = B.A_id 查询结果为: name     address 张     北京 李     NULL 王     上海 /******************************** right join  右连接*****************************************/ 包容性:B表包容A表,右连接右表是全的.(right join 或 right outer join ) SQL语句如下: SELECT A.name, B.address FROM A RIGHT JOIN B ON A.id = B.A_id 查询结果为: name     address 张     北京 王     上海 NULL     南京 /******************************** inner join  内连接*****************************************/ 排他性:A,B表中至少有1个匹配时,才返回行。两表的交集 SQL语句如下: select A.name,B.address from A inner join B on A.id = B.A_id 查询结果为: name     address 张     北京 王     上海 inner join  内连接等价于下面的sql: SELECT A.name, B.address FROM A, B WHERE A.id = B.A_id /******************************** full join  全连接*****************************************/ 注释:全外连接返回参与连接的两个数据集合中的全部数据,无论它们是否具有与之相匹配的行。在功能上,它等价于 对这两个数据集合分别进行左外连接和右外连接,然后再使用消去重复行的并操作将上述两个结果集合并为一个结果集 。(full join 或 full outer join ) SQL语句如下: select * from A full join B 查询结果为: id     name     id     address A_id 1     张     1     北京     1 2     李     1     北京     1 3     王     1     北京     1 1     张     2     上海     3 2     李     2     上海     3 3     王     2     上海     3 1     张     3     南京     10 2     李     3     南京     10 3     王     3     南京     10 /******************************** CROSS JOIN(不带条件where...)***********************************/ 注释:返回3*3=9条记录,即笛卡尔积 SQL语句如下: SELECT * FROM A CROSS JOIN B 查询结果为: id     name     id     address A_id 1     张     1     北京     1 2     李     1     北京     1 3     王     1     北京     1 1     张     2     上海     3 2     李     2     上海     3 3     王     2     上海     3 1     张     3     南京     10 2     李     3     南京     10 3     王     3     南京     10 CROSS JOIN等价于: select * from A,B

数据库操作-内连接外连接

标签:left join   lin   卡尔   ros   from   sel   HERE   左连接   全连接   

人气教程排行