数据库连接方式讲解
数据库有5种连接方式:内连接、左连接、右连接、全外连接、交叉连接
数据准备:两张表,五班没有学生,学号8的学生cid为7,在class表内没有记录
1、内连接(join,inner join)查询出两张表有关联的数据
select * from student,class where student.cid=class.id;
select * from student join class on student.cid=class.id;
2、左连接(left join、left outer join)查出左表所有数据,右表没有对应关联数据就置空
select * from student left join class on student.cid=class.id;
3、右连接(right join,right outer join)查出右表所有数据,左表没有对应关联数据就置空
select * from student right join class on student.cid=class.id;
4、全外连接(FULL OUTER JOIN)
注意:MySQL是不支持全外的连接的,这里给出的写法适合Oracle和DB2。但是可以通过左外和右外求合集来获取全外连接的查询结果。
select * from student left join class on student.cid=class.id
union
select * from student right join class on student.cid=class.id;
左连接、右连接、全外连接注意:where的条件不要放on后面
5、交叉连接(CROSS JOIN)
交叉连接(CROSS JOIN):有两种,显式的和隐式的,不带ON子句,返回的是两表的乘积,也叫笛卡尔积(没有条件的inner join)。
语句1:隐式的交叉连接,没有CROSS JOIN。
语句2:显式的交叉连接,使用CROSS JOIN。
两种返回的结果一致的,如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现