Mysql数据库学习笔记--多表连接查询 2020-2-9

多表连接

自然连接
找列名相同、数据类型相同的列进行等值连接
关键词: natural join
select * from emp natural join dept
等同于: select * from emp,dept where emp.deptno=dept.deptno

using子句
using(列名) ( 列名是两个表中相同的列名,根据using内的列名进行等值连接)
select * from emp join dept using(deptno)
等同于:select * from emp,dept where emp.deptno=dept.deptno

on子句(解耦,降低语句的复杂度)
select * from emp,dept where emp.deptno=dept.deptno and emp.deptno=10 – 耦合性高
select * from emp join dept on (emp.deptno=dept.deptno) – 解耦

外连接
注:希望哪一个表全部显示,这个表在那一侧就是那一侧外连接
右外连接
emp表和dept表进行外连接,将右侧(dept)表中的信息全部显示出来,即使左侧表中无对应连接数据
select * from emp right outer join dept on (emp.deptno=dept.deptno)

发布了3 篇原创文章 · 获赞 2 · 访问量 1467

猜你喜欢

转载自blog.csdn.net/qq_43980232/article/details/104232299