发布于个人的CSDN上:MySQL的内连接、外连接、(间接)全连接
内连接
将两个表中存在连结关系的字段符合连接条件的记录形成记录集Select A.name,B.name from A inner join B on A.id=B.id
和下面的
Select A.name,B.name from A,B where A.id=B.id
结果是一样的(内连接的 inner 关键字可省略);
外连接
分为2种:
左外连接(以左表为基础) 左连接A、B表结果包括A的全部记录和符合条件的B的记录。 右外连接(以右表为基础) 右联结A、B表的结果和左联结B、A的结果是一样的也就是说:
Select A.name,B.name from A Left Join B on A.id=B.id
和下面的
Select A.name,B.name from B Right Join A on B.id-A.id
执行后的结果是一样的。
(间接)全连接
全连接查询: 是在内连接的基础上增加 左右两边没有显示的数据
MySQL不支持全连接 ,并 不支持全连接 full JOIN 关键字
想要全连接,需要使用 union 连接 左连接和右连接 ,得到全连接
MySQL提供了 UNION 关键字.使用 UNION 可以 间接 实现 full JOIN 功能。
#查询人员和部门的所有数据 SELECT * FROM person LEFT JOIN dept ON person.did = dept.did UNION SELECT * FROM person RIGHT JOIN dept ON person.did = dept.did;
三表连接查询
#查询商店、价格、种类的所有数据 select price.id,price.store_code,store.name,price.fruit_code,category.second_name from (price left join store on price.store_code=store.code) left join category on price.fruit_code=category.fruit_code
参考资料
[1] MySQl数据查询之多表查询
[2] Mybatis实现多表联合查询
[3] mysql 内连接、外链接以及全连接的实现
[4] MySql的join(连接)查询 (三表 left join 写法)
MySQL的内连接、外连接、(间接)全连接
标签:表连接 mysql tis nio store tail lang 关系 查询
查看更多关于MySQL的内连接、外连接、(间接)全连接的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did117686