1、内连接:把两个表中数据对应的数据查出来(显示两个表连接字段都有相同值的记录是一对一)
语句 inner join(查找条件中对应的数据,没有数据不列出来)
语法:select * from student inner join grade on student.no = grade.no
2、外连接:以某个表为基础把对应数据查出来,有左连接和右连接,是一对多。
2-1、左连接(左表中所有数据,右表中对应数据,即左边一定有数据,右边不一定有)
语法:select * from student left join grade on student.no = grade.no
2-2、右连接(右表中所有数据,左表中对应数据,即右边一定有,左边不一定有)
语法:select * from student right join grade on student.no = grade.no
图中客户表中的字段“客户”,既对应订货表又对应客户工资表。所以为一对二相对于一对一来说,它就是一对多。那什么是一对多呢?比如一个老师可以教多个学生那么老师与学生的关系就是一对多的关系。
那什么是一对一呢?比如一个男的只能与一个女的结婚那么男人与女人的这种关系就是一对一。
一个字段中的特定值对应另外一个字段中的多个值叫一对多,如表1 表2
id name deptno deptno dept
1张三 21 行政部
2李四 22 财务部
3王五 1
用deptno 连接两个表
财务部下面有两个员工 表2 和表1 的关系就是1对多
一个字段中的特定值对应另外一个字段中的唯一特定值就是一一对应
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)