本章重点单词: cross 交叉,inner 内部的,join 连接,结合,left 左边,right 右边,outer 右边
知识板块:1.内连接查询
2.多连接查询
3.外连接查询
知识解读:
一.内连接查询
1.交叉连接(迪卡尔积)
概述:交叉连接(Cross Join),又称“迪卡尔连接”或“叉乘”,它是所有类型的内连接的基础。
语法:1.select *from 表名1,表名2 (简便写法)
2select *from 表名1 cross join 表名2
2.相等连接
语法:select *from 表名1 别名1(可取一个字母) join 表名2 别名2 on 表名1(别名1).字段名=表名2(别名2).字段名 注:表名1字段名与表名2字段名需要相互对应
3.自然连接
概述:它是一种特殊的内连接,要求相连接的两张表的链接依据列(字段名)必须是相同字段(字段名,字段属性相同) 两张表的所有名称相同的列都会被比较且结果显示会将重复的列(字段名)去掉,结果显示两张表相同的列只出现一次(去掉相同的列)。
语法:select *from 表名1 natural join 表名2 注:sql sever 是不支持自然连接的
二.多表连接查询
概述:当获取的数据来自3张表或以上,则需要通过多表连接进行查询。
语法:select *from 表名1 join 表名2 on 表名1.字段名=表名2.字段名 join 表名3 on 表名2.字段名=表名3.字段名 注:在进行多表连接时需要以外键确认表名位置,当一个表名同时拥有表明1和表名3的外键时则将此表放中间
三.外键查询
概述:在内连接中,只有满足条件的记录才能出现在结果中显示,如果想要不满足条件的语句也显示则需要使用到外键连接。
语法:select *from 表名1(左表) left join 表名2(右表) on 表名1.字段名=表名2.字段名 where 条件 注:如需要表1且不满足条件的字段出现在结果中则在join左边输入left 如需要表2全显示则在join右边输入right即可