数据库oracle学习心得有关于多表查询
数据库中的多表查询分为两种:内连接和外连接
内连接与外连接的区别:就是外连接比内连接多了一个left或者right(查询结构)
下面详细讲讲有关于内连接与外连接
内连接:查询的结构
select 表1.表1的属性,表2.表2的属性…
from 表1 join 表2 on 判断条件
这里做一个注释:1.在查找属性的时候一定要将属性所在的表,加在前面
例:表1.表1的属性----------注意中间有一个点
2.判断条件就是两个表关联的部分
一般关联的是主键以及外键 -------------个人认为
3.判断条件可以是相等的或者不相等的
相等的:
select op1.nnum , op2.mnum,op2.mname
from op1 join op2 on op1.nnum=op2.nnum;(op1的nnum是主键,op2的nnum是外键)
不相等的:
select op1.nnum,op2.mname
from op1 join op2 on op1.nnum>1111;
4.表与表之间是可以进行自连接的
特别注意:因为是同一个表,需要区别,所以要加别名进行区分
select 表1.表1的属性,表2.表2的属性…
from 表1 别名1 join 表2 别名2 on 判断条件
例:select op1.nnum,op1.nsex
from op1 A join op1 B on nname=‘张三’ and nnum!=‘210711’;
外表连接:内连接只是能够查询搜索的信息,然而如果想要显示一个表的全部内容,则需要用到外连接,left 则是显示join左边的表的全部内容,right 则是显示join右边的表的全部内容
select 表1.表1的属性,表2.表2的属性…
from 表1 left/right join 表2 on 判断条件
例: select op1.nnum , op2.mnum,op2.mname
from op1 left join op2 on op1.nnum=op2.nnum;