一:序
这几天在学习数据库部分,因为在学校听课也是比较迷糊,经过学习之后感觉现在思路比较清楚,对于多表连接查询操作有了一个新的认识。
二:假设
假设现在有两个表 :A ,B.
三:两表之间的连接方式
两个表的连接方式分为,内,外,交叉三种。
内连接的查询方式又分为隐式和显式两种。
外连接的查询方式又分为左,右两种。
交叉是将两个表的记录做乘积,因为得到的记录很大程度上没有直接联系,所以交叉连接查询基本没什么意义。
四:内连接
内连接的关键词:inner join...(inner可以省略)
隐式内连接:select(要查询的字段)from A a,B b where a.A_id=b.B_id;
显式内连接:select(要查询的字段)from A join B on(注意这里必须用on不能用where)A_id=B_id;
总结:内连接查询 查询的是两个表之间的交集。
五:外连接
外连接的关键词:outer join.....on (outer可以省略)
左外连接: select (要查询的字段) from A left join B on (...);
右外连接: select (要查询的字段) from A right join B on(...);
总结:左外连接查询的是 左表(语句中为A)的全部 和两表的交集部分。相对应的右外连接性质与左外连接相同。
六: 交叉连接
语句 :select * from A,B;(如果A表有3条记录,B有2条记录,查询的结果符合笛卡尔积,有6条记录)
原文地址:https://www.cnblogs.com/zhang188660586/p/11209372.html
时间: 2024-12-28 15:49:01