左连接与右连接

左连接与右连接

多表查询即连接查询,通过外键去连接。

内连接查询inner join: 只返回两个表中跟联结字段(外键)相等的记录;从左边的表往右边的表查找能匹配的记录,无匹配的记录行不显示。
SQL语句:select 表名1.,表名2. from 表名1 inner join 表名2 on (表名1.列名=表名2.列名);

外连接outer join
left join(左联接): 以左表为基准,返回包括左表中的所有记录和右表中跟联结字段相等的记录,即包含所有的左边表中的所有记录,右边表中和它匹配的记录。左右两张表按某个列进行关联查找,左连接以左边的表为基础表,基础表的数据全部都查找出来,右边的表如果有和左边的表的条件相符的数据就查找出来,如果条件不相接符就用null显示。
left outer join left join
SQL语句:select 表名1.,表名2. from 表名1 left outer join 表名2 on (表名1.列名=表名2.列名);

right join(右联接):以右表为基准,返回包括右表中的所有记录和左表中跟联结字段相等的记录,即包含所有的右边表中的所有记录,左边表中和它匹配的记录。
right outer join right join
select 表名1.,表名2. from 表名1 right outer join 表名2 on (表名1.列名=表名2.列名);

示例:
A表(a1,b1,c1) B表(a2,b2)
a1 b1 c1 a2 b2
数学 95 01 01 张三
语文 90 02 02 李四
英语 80 04 03 王五

内连接:
SQL语句: select a.,b. from a,b where a.c1=b.a2;
执行结果如下图所示:

SQL语句:select a.,b. from a inner join b on(a.c1=b.a2);
执行结果如下图所示:

左连接:
SQL语句:select A.,B. from A left outer join B on(A.c1=B.a2);
执行的结果如下图所示:

右连接:select A.,B. from A right outer join B on(A.c1=B.a2);
执行的结果如下图所示:

posted @   ErShiXiong  阅读(287)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示