SQL查询左连接、右连接、内连接[通俗易懂]

1、左连接的定义:是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。左连接全称为左外连接,是外连接的一种。下边以A表和B表为例子,A、B之间的左连接条件为:ano=bno;查询语句为:SELECT*FROM`A`LEFTJOINB ONano=bno;eg1:A表中的只有1条记录,B表中2条记录…

大家好,又见面了,我是你们的朋友全栈君。

1、左连接的定义:是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。左连接全称为左外连接,是外连接的一种。

下边以A表和B表为例子,A、B之间的左连接条件为:ano=bno;查询语句为:SELECT * FROM `A` LEFT JOIN B  ON ano=bno;

eg1:A表中的只有1条记录,B表中2条记录,B表的2条记录bno都等于ano,

SQL查询左连接、右连接、内连接[通俗易懂]

SQL查询左连接、右连接、内连接[通俗易懂]

SQL查询左连接、右连接、内连接[通俗易懂]

 

查询结果:将A表的记录都查询出来,B表中bno等于ano的都查询出来了且左侧为ano对应的信息。

eg2:A表中存在的ano,B表中不存在对应的bno;

SQL查询左连接、右连接、内连接[通俗易懂]

SQL查询左连接、右连接、内连接[通俗易懂]

 

 

 

SQL查询左连接、右连接、内连接[通俗易懂]

结果:A表的记录全部查询出来而且如果B没有bno=ano的记录时右侧显示为空,B表中只有bno=ano的记录查询出来了。

2、右连接的定义,是以右表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将右表所有的查询信息列出,而左表只列出ON后条件与右表满足的部分。右连接全称为右外连接,是外连接的一种。

eg:以上边的数据为例子,进行右连接测试如下:

SQL查询左连接、右连接、内连接[通俗易懂]

结果:a表只显示和b表id相等的2行数据,b表的记录全部显示出来

3、内链接:使用比较运算符根据每个表共有的列的值匹配两个表中的行;

eg:继续以之前的数据为例子:

SQL查询左连接、右连接、内连接[通俗易懂]

 

结果:只显示a.aid=b.bid的2行记录

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/125366.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java中volatile的作用_java中volatile关键字的作用与用法,讲的很透彻

    java中volatile的作用_java中volatile关键字的作用与用法,讲的很透彻volatile让变量每次在使用的时候,都从主存中取。而不是从各个线程的“工作内存”。volatile具有synchronized关键字的“可见性”,但是没有synchronized关键字的“并发正确性”,也就是说不保证线程执行的有序性。也就是说,volatile变量对于每次使用,线程都能得到当前volatile变量的最新值。但是volatile变量并不保证并发的正确性。=============…

  • tp5 上传视频到七牛云

    tp5 上传视频到七牛云

    2021年10月28日
  • 事务ACID理解

    事务ACID理解事务管理(ACID)谈到事务一般都是以下四点原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。一致性(Consistency)事务前后数据的完整性必须保持一致。隔离性(Isolation)事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔…

    2022年10月12日
  • sql多层嵌套查询优化_sql嵌套查询返回多个字段

    sql多层嵌套查询优化_sql嵌套查询返回多个字段1.嵌套查询优化优化前SELECTq.id,q.title,q.question,q.person_name,q.department_name,r.response,r.create_timeresponse_timeFROMtb_ent_questionqLEFTJOINtb_ent_res

  • Jave运算符和MySQL运算符总结

    Jave运算符和MySQL运算符总结

  • mac mysql改密码_mac系统重置密码

    mac mysql改密码_mac系统重置密码MAC重置MySql密码步骤:1.关闭mysql服务2.打开终端按步骤输入:输入1:cd/usr/local/mysql/bin/输入2:sudo./mysqld_safe–skip-grant-tables3.打开另外一个终端窗口:第一步输入:cd/usr/local/mysql/bin/第二步输入:./mysql第三步输入:FLUSHPRIVILEGES;第四步输入:ALTERUSER‘root’@‘localhost’IDENTIFIEDBY‘1

    2022年10月11日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号