数据库的四种连贯方式
数据库一样分为四种连接方式:1、内连接 inner join;2、外连接 outer join;3、穿插连接 cross join;4、天然连接 natural join。
内连接
内连接 ---拼接查询结果 内部有联络,使用内连接 格局: [inner] join ----inner可省
结果: 从左表中取出每一笔记录,去右表中与所有的记载停止匹配; 匹配必需是某个前提是左表中与右表中雷同,才会保存结果,不然不保存;
根本语法: 左表 [inner] join 右表 on 左表.字段 = 右表.字段;
留意事项:
1、on 表示连接前提;前提字段代表雷同的业务含义 (如 stu.cid 和 cla.id) 学生stu表中的班级cid 和 班级cla表中的id
2、内连接可以没有连接前提,没有on之后的内容, 这时候系统会保存所有结果(笛卡尔集)
3、内连接可以使用where 代替 on 平常不消where,由于where没有on效力高 on指匹配到第一条成功的就完毕,其他不匹配; 若没有,不停止匹配 而where会不断匹配,停止推断
4、平常使用字段别号 表别号 在查询数据的时候,不一样表有同名字段, 这时候需要加上表名才能区分, 而若表名太长,使用表别号 若不想使用默许的字段名 可以通过[as] 设定字段别号 。
外连接
外连接 --以某一张表为基表 停止相关查询 outer join
结果:以某张表为主,取出里面的所有记载, 然后每条与别的一张表停止连接, 不管能不克不及匹配上前提,终究都会保存, 能匹配,准确保存; 不克不及匹配其他表的字段都置空null
分类:分为两种 左连接,右连接 left join 左外连接---左连接,以左表为主 right join 右外连接---右连接,以右表为主
根本语法: 左表 left/right join 右表 on 左表.字段 = 右表.字段;------前提必需有
穿插连接
穿插连接 连接查询 cross join:
穿插连接不带WHERE 子句,它返回被连接的两个表所有数据行的笛卡尔积,
返回到结果汇合中的数据行数等于第一个表中相符查询前提的数据行数乘以第二个表中相符查询前提的数据行数。
天然连接
天然连接 natural join 天然连接
就是系统主动匹配连接前提 系统以字段名字作为匹配模式(同名字段作为字段,多个同名字段都作为前提)
天然连接:可以分为 天然内连接 和 天然外连接 内连接 natural left join 天然左外连接
其实:内连接和外连接都可以模拟天然连接,
使用同名字段,合并字段 左表 left/ right inner join 右表 on using(字段名) -----使用同名字段,合并字段
--天然内连接 select * from stu natural join cla;
-天然左外连接 select * from stu natural left join cla;
--外连接模拟天然左外连接 select * from stu left join cla using(id);
以上就是数据库的四种连接方式的具体内容,更多请关注百分百源码网其它相关文章!