Join操作基本:外连接自然连接内连接.docJoin操作基本分为3大类:外连接(细分为:左连接、右连接、全连接)、自然连接、内连接Join操作的共性:第一步均为将所有参与操作的表进行了一个笛卡儿积,然后才依据各连接条件进行记录的筛选SQL>select*fromemployees;NAMEDEPARTMENT_IDSALARYGetz103000Davis201500King202200Davis305000Kochhar5000SQL>select*fromdepartments;ounts40Administration------------------Leftouterjoin----------------SQL>select*=;附加:Oracle9i以前版本中左连接的写法如下:SQL>select*fromemployeese,=(+);---------------------------Rightouterjoin------------------------SQL>select*fromemployeesrightouterjoindepartmentsusing(department_id);附加:Oracle9i以前版本中左连接的写法如下:SQL>select*fromemployeese,(+)=;--------------------------------Fulljoin----------------------------SQL>select*fromemployeesfulljoindepartmentsusing(department_id);说明:[1]外连接必须使用on或using子句提供相应的连接条件[2]不能为using子句中所列举的列指定表别名,即使在groupby和select子句中也是如此[3]外连接规则:左连右补,右连左补,全连左右合并如:对表departments表进行右连接时,在两表完成笛卡儿积后再依据连接条件using(department_id)来筛选两表中department_id值相同的记录,但对DEPARTMENT_ID=40employees表中没有与之匹配的记录,按常理此DEPARTMENT_ID=40所对应的记录将被抛弃,但就是为了保全连接表(departments表)中的所有记录就必须在employees表中虚拟出一条与之匹配的记录来保全连接表的所有记录,当然这条虚拟的记录显示时值全为null--------------------------Naturaljoin-----------------------------SQL>select*fromemployeesnaturaljoindepartments;说明:自然连接是通过对参与表关系中所有同名的属性对取等(即相等比较)来完成的,故无须自己添加连接条件与外连接的区别在于对于无法匹配的记录外连接会虚拟一条与之匹配的记录来保全连接表中的所有
Join操作基本:外连接自然连接内连接 来自淘豆网m.daumloan.com转载请标明出处.